Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何以编程方式访问IPTV服务器?_Java_Networking_Udp_Iptv - Fatal编程技术网

Java 如何以编程方式访问IPTV服务器?

Java 如何以编程方式访问IPTV服务器?,java,networking,udp,iptv,Java,Networking,Udp,Iptv,我所在的大学目前正在进行IPTV试验。要访问该服务,您需要安装VLC Media Player,并运行从大学内部网下载的文件,每个文件代表一个频道 这些文件的格式如下: #EXTM3U #EXTINF:0,ITV2 udp://@238.255.0.6:2001 我将其识别为M3U播放列表文件。幸运的是,该文件包含托管服务的服务器的IP地址、访问该服务的端口以及协议(在本例中为UDP) 我的问题是,我如何通过编程访问该服务?客户端是否与服务器进行了特定的握手?既然可以通过VLC媒体播放器轻松访

我所在的大学目前正在进行IPTV试验。要访问该服务,您需要安装VLC Media Player,并运行从大学内部网下载的文件,每个文件代表一个频道

这些文件的格式如下:

#EXTM3U
#EXTINF:0,ITV2
udp://@238.255.0.6:2001
我将其识别为M3U播放列表文件。幸运的是,该文件包含托管服务的服务器的IP地址、访问该服务的端口以及协议(在本例中为UDP)

我的问题是,我如何通过编程访问该服务?客户端是否与服务器进行了特定的握手?既然可以通过VLC媒体播放器轻松访问数据,那么访问数据肯定很简单,因为没有使用专有协议

我不太喜欢通过编程方式上网;我知道在Java中可以构造一个
端口
,该端口对UDP进行建模。我希望能用Java给出答案,但任何类似的语言都已经足够了


谢谢

它们是交换机级别的一种特殊握手,它告诉交换机您是多播组的一部分,以便您也可以接收数据包

下面是在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);
例如

您需要做的是加入多播组,然后只接收数据包并将其写入文件,然后我假设MPEG2、MPEG4或以其他方式发送的流将是您机器上的一个文件,可以通过其他程序播放。

您可能需要研究绑定。这将使您能够通过Java编程接口控制VLC。你从Java获得了VLC的所有伟大!此外,还有几个,您可以使用它们来玩VLC