UDP通讯协议

2017-03-21  本文已影响0人  困卡

UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的

udp服务端

udp服务端客户端流程图
static void Main(string[] args)
{
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

server.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8090));

EndPoint clientPoint= new IPEndPoint(IPAddress.Any, 0); // 声明一个空的端口对象,当接受到数据的时候,会将数据发送方的地址赋值到该对象中
byte[] reciveData = new byte[1024];

int dataLength = server.ReceiveFrom(reciveData, ref clientPoint); //接收到连接,会将连接方的地址写入clientPoint
string reciveMessage = Encoding.UTF8.GetString(reciveData, 0, dataLength);

Console.WriteLine(reciveMessage);

server.Close();

Console.ReadKey();
}

udp客户端

static void Main(string[] args)
{

Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

string userMessage = Console.ReadLine();
byte[] data = Encoding.UTF8.GetBytes(userMessage);
EndPoint serverPoint = new IPEndPoint(IPAddress.Parse("192.168.1.255"), 8090);

clientSocket.SendTo(data, serverPoint);

Console.ReadKey();
}
上一篇 下一篇

猜你喜欢

热点阅读