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
.net 多播/套接字问题_.net_Sockets_Multicast - Fatal编程技术网

.net 多播/套接字问题

.net 多播/套接字问题,.net,sockets,multicast,.net,Sockets,Multicast,我有一个无法解决的多播/套接字问题 如果我在端口4000和ip 225.0.0.1的两台不同的PC上运行两个应用程序,一切都会很好。 如果我尝试加入MulticastGroup 225.0.0.2端口5000,它将无法工作,因为如果我正确理解,如果您使用端口4000启动应用程序,则只能使用该端口 现在,由于我们需要在同一台PC上运行多个通过多播进行通信的应用程序,并且我无法使用其他端口加入组,因此我必须在同一端口上启动所有应用程序,但这似乎是不可能的。我已经尝试设置SO_REUSEADDR套接字

我有一个无法解决的多播/套接字问题

如果我在端口4000和ip 225.0.0.1的两台不同的PC上运行两个应用程序,一切都会很好。 如果我尝试加入MulticastGroup 225.0.0.2端口5000,它将无法工作,因为如果我正确理解,如果您使用端口4000启动应用程序,则只能使用该端口

现在,由于我们需要在同一台PC上运行多个通过多播进行通信的应用程序,并且我无法使用其他端口加入组,因此我必须在同一端口上启动所有应用程序,但这似乎是不可能的。我已经尝试设置SO_REUSEADDR套接字选项,但没有帮助

非常感谢您的帮助。

>“如果您使用端口4000启动应用程序,则只能使用该端口。” 不完全正确:如果将套接字连接到端口4000,则无法将同一个套接字连接到不同的端口(除非重新使用该套接字,这是另一回事,它仍然不能解决您的问题)。但是,您可以在应用程序中创建多个套接字,每个套接字可以连接不同的多播,但不能让一个套接字更改其连接的端口


如果您向我们提供一个简单(符合要求)的示例,说明您正在尝试执行的操作,那么我们可以明确指出您的错误所在。

好的,谢谢您的帮助,但我想我已经理解了问题所在。我已经修复了运行多个应用程序的问题,在我所做的插件正在使用的jrtlib中的绑定之前添加SO_REUSEADDR。现在它可以工作了,因为我还必须将该选项添加到rtcp套接字,而不仅仅是rtp套接字。 另一个问题是我误解了jrtplib的用法。我试图使用同一个客户机发送和接收,但jrtplib不是这样工作的。 使用相同的客户端发送和接收,我被迫在所有客户端中使用相同的端口,这造成了问题。现在我启动了一个专用的发送插件和另一个接收插件,一切都像一个魔咒