欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中使用UDP通信实例

程序员文章站 2024-02-13 23:51:58
网络通信协议中的udp通信是无连接通信,客户端在发送数据前无需与服务器端建立连接,即使服务器端不在线也可以发送,但是不能保证服务器端可以收到数据。本文实例即为基于c#实现的...

网络通信协议中的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();//关闭连接 
  } 
}

程序最终运行效果如下:

C#中使用UDP通信实例