服务器端udp
private Socket udpServer;
1.创建socket
udpServer= new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
2.绑定ip和端口号
udpServer.Bind(new IPEndPoint(IPAddress.Parse("10,28,120,164"),7788));
3.接收收据
new Thread(ReceiveMessage){IsBackground=true}.Start(); //开启线程
static void ReceiveMessage()
{
while(true)
{
EndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any,0); //从哪个客户端发送过来的
byte[] data=new byte[1024];
int length=udpServer.ReceiveFrom(data,ref remoteEndPoint); 这个方法会把数据的来源(ip+端口)放到第二个参数上
string message=Encoding.UTF8.GetString(data,0,length);
Consloe.WriteLine("从ip:"+(remoteEndPoint as IPEndPoint).Address.ToString()+":"+(remoteEndPoint as IPEndPoint).Port+"收到 的数据"+message);
}
}
----------------------------------------------------------------------------------------------------------------------------
客户端udp:创建一个新的项目
1.创建socket
Socket udpClient=new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
2.发送数据
while(true) 无限发送
{
EndPoint serverPoint = new IPEndPoint(IPAddress.Parse("10,28,120,164",7788));
string message=Consloe.ReadLine();
byte[] date=Encoding.UTF8.GetBytes(message);
udeClient.SendTo(data,serverPoint);
}
Console.ReadKey();