使用UDP可以实现局域网内的广播通信,基于广播功能可以做到无服务器,自发现用户。
UDP监听核心代码:
using (UdpClient client = new UdpClient(new IPEndPoint(IPAddress.Any, Port))) { IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, 0); while (true) { Thread.Sleep(10); if (client.Client.Available <= 0)//可防止报错 { continue; } byte[] buf = client.Receive(ref endpoint); string msg = Encoding.Default.GetString(buf); MsgParse(endpoint, msg); } }
UDP消息广播核心代码:
sendClient = new UdpClient(new IPEndPoint(IPAddress.Any, 0)); byte[] buf = Encoding.Default.GetBytes(str); IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("255.255.255.255"), Port); sendClient.Send(buf, buf.Length, endpoint);
效果如下图:
下载源码:
https://files.cnblogs.com/files/zjfree/ZUdpChat.zip?t=1697011824&download=true
欢迎转载,转载请注明:转载自[ http://www.cnblogs.com/zjfree/ ]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
2021-10-11 PHP ROT18加解密