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

总结

一点小尝试。

相关推荐
小毅&Nora15 小时前
【人工智能】【深度学习】 ⑦ 从零开始AI学习路径:从Python到大模型的实战指南
人工智能·深度学习·学习
Maxwell_li115 小时前
Pandas 描述分析和分组分析学习文档
学习·数据分析·numpy·pandas·matplotlib
雷工笔记15 小时前
MES学习笔记之SCADA采集的数据如何与MES中的任务关联起来?
笔记·学习
繁星星繁16 小时前
【C++】脚手架学习笔记 gflags与 gtest
c++·笔记·学习
张人玉17 小时前
技术开发文档:MES 系统与西门子 PLC 通信软件集成方案
https·c#·plc·mes系统·西门子s7
Lovely Ruby17 小时前
前端er Go-Frame 的学习笔记:实现 to-do 功能(三),用 docker 封装成镜像,并且同时启动前后端数据库服务
前端·学习·golang
YJlio18 小时前
SDelete 学习笔记(9.18):安全删除、空闲清理与介质回收实战
笔记·学习·安全
地球驾驶员19 小时前
NX二次开发C#----C#和C++的二次开发程序如何签名?
c#
d111111111d20 小时前
STM32低功耗学习-停止模式-(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
找了一圈尾巴20 小时前
LLM-as-a-Judge-论文学习(下)
学习·模型评估