C#学习系列之UDP同端口收发问题

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的使用最好是在接收端使用,在发送端可不用加入多播组,否则无法双向使用。

总结

一点小尝试。

相关推荐
楚山之石9 小时前
【Nat Biomed Eng】Connectome 2.0 超高梯度扫描仪:500 mT/m 与 600 T/m/s 把活体人脑微观结构分辨推进到亚微米级
图像处理·学习·数据分析·mri
坤坤子吖11 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
用户7884773163411 小时前
WinForms 迁移 WPF:Upgrade Assistant 覆盖 30%,剩下 70% 我手写了六周
c#
LGL6030A15 小时前
Java学习历程31——初识Spring Boot
java·spring boot·学习
寂寞的船16 小时前
【Unity知识速递】第13期 Unity 内存泄漏排查实战:从 Memory Profiler 到 Lua 引用泄漏的生产级全链路诊断
unity·junit·c#·游戏引擎·lua
阿达和自己17 小时前
springboot学习-springboot引入MyBatis-Plus
spring boot·学习·mybatis
旖旎夜光17 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
§ꦿCFོ༉1 天前
嵌入式八股文—C语言入门学习(四)
c语言·开发语言·学习
2603_969694851 天前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法
用户3721574261351 天前
C# 提取 PDF 附件:包括文档附件和页面注释附件
c#