网络通信协议中的UDP通信是无连接通信,客户端在发送数据前无需与处事器端成立连接,即使处事器端不在线也可以发送,但是不能保证处事器端可以收到数据。本文实例即为基于C#实现的UDP通信。具体成果代码如下:
处事器端代码如下:
static void Main(string[] args) { UdpClient client = null; string receiveString = null; byte[] receiveData = null; //实例化一个长途端点,IP和端口可以随意指定,,等挪用client.Receive(ref remotePoint)时会将该端点改成真正发送端端点 IPEndPoint remotePoint = new IPEndPoint(IPAddress.Any, 0); while (true) { client = new UdpClient(11000); receiveData = client.Receive(ref remotePoint);//接收数据 receiveString = Encoding.Default.GetString(receiveData); Console.WriteLine(receiveString); client.Close();//*连接 } }
客户端代码如下:
static void Main(string[] args) { string sendString = null;//要发送的字符串 byte[] sendData = null;//要发送的字节数组 UdpClient client = null; IPAddress remoteIP = IPAddress.Parse("127.0.0.1"); int remotePort = 11000; IPEndPoint remotePoint = new IPEndPoint(remoteIP, remotePort);//实例化一个长途端点 while (true) { sendString = Console.ReadLine(); sendData = Encoding.Default.GetBytes(sendString); client = new UdpClient(); client.Send(sendData, sendData.Length, remotePoint);//将数据发送到长途端点 client.Close();//*连接 } }
措施最终运行效果如下: