C#学习系列之UDP同端口收发问题
前言
想测试自己的程序问题,建立了两个UDP程序,一个往端口中接到数就传出去,另一个从这个端口接数据来解析。
出现的问题是
每次打开端口,另一个程序就无法接入。
解决办法
最后通过调试发现,当两个程序都使用一下句子,只要添加多播组就会出现问题。
csharp
sendClient = new UdpClient(XXX); sendClient.JoinMulticastGroup(IPAddress.Parse("xxx"));
替换方案
csharp
UdpClient sendClient = new UdpClient();
IPEndPoint multicast = new IPEndPoint(IPAddress.Parse("XXX"), XXX);
只要简单声明一下,不加入多播组就可以了。
关于JoinMulticastGroup
通过来回读取端口数据与调试发现,JoinMulticastGroup
的使用最好是在接收端使用,在发送端可不用加入多播组,否则无法双向使用。
总结
一点小尝试。