点对点单播:
#region 发送端
UdpClient myClient = new UdpClient();//构建自身
byte[] bs = null;//准备好要发送的数据包
IPEndPoint iPEndPoint = new IPEndPoint(IPAddress.Parse("192.168.1.100"), 7788);//接收方的 “IP + 端口”
myClient.Send(bs, bs.Length, iPEndPoint);//(数据包,包长度,目标IPEndPoint)
#endregion
#region 接收端
UdpClient jsClient = new UdpClient(7788);//构建自身,指定一个端口
IPEndPoint sendIpEndPoint = null;
byte[] rbs = jsClient.Receive(ref sendIpEndPoint);//使用ref得到发送端的IPEndPoint
//注意另开一个线程接收,否则接收不到数据就会卡在这一行
#endregion
广播:
#region 广播端
UdpClient myClient = new UdpClient();//构建自身
byte[] bs = null;//准备好要发送的数据包
IPEndPoint iPEndPoint = new IPEndPoint(IPAddress.Parse("255.255.255.255"), 7788);//"255.255.255.255"代表所有IP
myClient.Send(bs, bs.Length, iPEndPoint);//(数据包,包长度,目标IPEndPoint)
#endregion
#region 接收端
UdpClient jsClient = new UdpClient(7788);//构建自身,端口要和广播目标端口一致
IPEndPoint sendIpEndPoint = null;
byte[] rbs = jsClient.Receive(ref sendIpEndPoint);//使用ref得到发送端的IPEndPoint
//注意另开一个线程接收,否则接收不到数据就会卡在这一行
#endregion
组播:
#region 组播端
UdpClient myClient = new UdpClient();//构建自身
byte[] bs = null;//准备好要发送的数据包
IPEndPoint iPEndPoint = new IPEndPoint(IPAddress.Parse("224.0.2.0"), 7788);//"224.0.2.0"代表一个组播地址
//用户可分配的地址范围在 224.0.2.0 ~ 238.255.255.255
myClient.Send(bs, bs.Length, iPEndPoint);//(数据包,包长度,目标IPEndPoint)
#endregion
#region 接收端
UdpClient jsClient = new UdpClient(7788);//构建自身,端口要和组播目标端口一致
jsClient.JoinMulticastGroup(IPAddress.Parse("224.0.2.0"));//加入组播地址
IPEndPoint sendIpEndPoint = null;
byte[] rbs = jsClient.Receive(ref sendIpEndPoint);//使用ref得到发送端的IPEndPoint
//注意另开一个线程接收,否则接收不到数据就会卡在这一行
#endregion
需要引用的 命名空间:
using System.Net;
using System.Net.Sockets;
个人笔记 仅供参考 欢迎指正