ポイントツーポイントユニキャスト:
#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
参照する必要のある名前空間:
System.Netを使用します。
System.Net.Socketsを使用します。
個人的なメモは参照用です。訂正は大歓迎です。