有没有办法允许多个程序在Windows上订阅相同的多播组?

我有两个应用程序需要订阅相同的多播组/端口组合。 目前,我可以处理这个问题的唯一方法是构build一个订阅多播组的代理应用程序,并通过单独的TCP连接将接收到的stream量转发给每个应用程序。 我想摆脱代理应用程序,让每个应用程序订阅组播组本身,但我得到一个套接字exception“每个套接字地址通常只允许使用一个”。

有没有办法解决? 为什么每个计算机只允许一个给定的多播组订阅?

不完全确定是否允许,但在这里寻找一个可能的解决方案:

在同一台计算机上的两个程序之间发送和接收UDP数据包

最终,你不会用指定的端点实例化UdpClient 。 你将实例化一个新的UdpClient,设置SocketOptions重用该端点,然后绑定:

 IPEndPoint localpt = new IPEndPoint(IPAddress.Any, 6000); UdpClient udplistner = new UdpClient(); udplistner.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); udplistner.Client.Bind(localpt); 

上面的答案是在同一个端口上发送/接收,所以不知道是否可以在同一个端口的两个独立的应用程序中接收。 试试看,让我们知道。