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 小时前
95【给图片添加跳转链接】
学习
EnglishJun9 小时前
Linux系统编程(二)---学习Linux系统函数
linux·运维·学习
im_AMBER9 小时前
Leetcode 115 分割链表 | 随机链表的复制
数据结构·学习·算法·leetcode
小陶的学习笔记10 小时前
python~基础
开发语言·python·学习
学编程的闹钟10 小时前
92【<h1-h6>指定文字大小】
学习
JMchen12310 小时前
Android UDP编程:实现高效实时通信的全面指南
android·经验分享·网络协议·udp·kotlin
森之鸟10 小时前
【我的经济学基础01-宏观经济】
学习
我的xiaodoujiao10 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 46--撰写 README项目说明文档文件
python·学习·测试工具·pytest
第七序章10 小时前
【Linux学习笔记】初识Linux —— 理解gcc编译器
linux·运维·服务器·开发语言·人工智能·笔记·学习
学编程的闹钟10 小时前
99【html与php的混写】
学习