2009-06-17 76 views
3

我的大學目前正在進行IPTV試用。要訪問該服務,系統會要求您安裝VLC Media Player,並通過它運行從大學內部網下載的每個代表一個頻道的文件。如何以編程方式訪問IPTV服務器?

這些文件的格式爲:

#EXTM3U 
#EXTINF:0,ITV2 
udp://@238.255.0.6:2001 

這點我承認作爲一個M3U播放列表文件。幸運的是,該文件包含託管服務的服務器的IP地址,訪問它的端口以及協議,在本例中爲UDP。

我的問題是,我怎樣才能以編程方式訪問服務?客戶端是否與服務器進行了特定的握手?由於通過VLC媒體播放器可以簡單地訪問,因此沒有使用專有協議,訪問數據肯定是微不足道的?

我不會太過於以編程方式訪問互聯網;我知道在Java中可以構建一個Port模型的UDP。我會很感激Java的答案,但任何類似的語言都綽綽有餘。

謝謝!

回答

5

它們是在交換機級別的特殊握手,它告訴交換機你是組播組的一部分,這樣你也可以收到數據包。波紋管是註冊和J2EE指南中的Java接收的UDP套接字

// join a Multicast group and send the group salutations 

InetAddress group = InetAddress.getByName("228.5.6.7"); 
MulticastSocket s = new MulticastSocket(6789); 
s.joinGroup(group); 
// get their responses! 
byte[] buf = new byte[1000]; 
DatagramPacket recv = new DatagramPacket(buf, buf.length); 
s.receive(recv); 
... 
// OK, I'm done talking - leave the group... 
s.leaveGroup(group); 

http://www.j2ee.me/j2se/1.4.2/docs/api/java/net/MulticastSocket.html

例子的一個例子

你需要做的是加入組播組的東西,然後就recv的包並將它們寫入一個文件,然後我假設mpeg2,mpeg4或流發送將是您的機器上應該可以通過另一個程序播放的文件。

相關問題