1)创建Socket //创建监听器 mServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); mEndPoint = new IPEndPoint(IPAddress.Any, 9555);//9555端口的所有地址 mServer.Bind(mEndPoint); //创建发送器 mServerSend = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); 2)监听线程 private void listen() { while (true) { byte[] vBuffer = new byte[1024]; EndPoint vClientEndPoint = (EndPoint)mEndPoint; int vLen = mServer.ReceiveFrom(vBuffer, ref vClientEndPoint); System.Threading.Thread t = new System.Threading.Thread(delegate() { send(vClientEndPoint, "recieved from " + vClientEndPoint.ToString()); }); t.Start(); Console.WriteLine(vClientEndPoint.ToString() + ":"); Console.WriteLine(Encoding.Unicode.GetString(vBuffer, 0, vLen)); } } 3)发送方法 private void send(EndPoint endPoint, string data) { //客户端 string[] ss = endPoint.ToString().Split(':'); IPEndPoint vEndPoint = new IPEndPoint(IPAddress.Parse(ss[0]), 9556); //数据 byte[] vByte=Encoding.Unicode.GetBytes(data); //发送 mServerSend.SendTo(vByte, vEndPoint); } 4)记得让线程Abort,并释放Socket mServer.Close(); mServerSend.Close(); 可下载:完整可运行的示例程序 Sample00001