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();
}
网友评论