通过UDP的组播方式收发数据
客户端代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Text; namespace UDPTest { public partial class Form1 : Form { private UdpClient udpSend; public Form1() { InitializeComponent(); } private void button1_Click( object sender, EventArgs e) { udpSend = new UdpClient(); udpSend.EnableBroadcast = true ; //是否可以发送和接收广播 IPEndPoint iep = new IPEndPoint(IPAddress.Parse( "224.100.0.10" ), 8001); byte [] data = Encoding.UTF8.GetBytes(richTextBox1.Text); udpSend.Send(data, data.Length, iep); richTextBox1.Clear(); } } } |
服务端代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; namespace UDPTest2 { public partial class Form1 : Form { UdpClient udpReceive; public Form1() { InitializeComponent(); } private void button1_Click( object sender, EventArgs e) { } private void Form1_Load( object sender, EventArgs e) { byte [] data = null ; udpReceive = new UdpClient(8001); udpReceive.JoinMulticastGroup(IPAddress.Parse( "224.100.0.10" ), 50); //添加到多路广播组,50为路由器跳数 IPEndPoint iep = new IPEndPoint(IPAddress.Any, 0); while ( true ) { data = udpReceive.Receive( ref iep); string str = Encoding.UTF8.GetString(data, 0, data.Length); MessageBox.Show(iep.ToString() + ":" + str); } } } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统