您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

c# socket编程实现udp客户端

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了c# socket编程实现udp客户端,大家参考使用吧

代码如下: Console.WriteLine("This is a Client, host name is {0}", Dns.GetHostName()); //设置服务端终结点 IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8001); //创建与服务端连接的套接字,指定网络类型,数据连接类型和网络协议 Socket ConnSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); string welcome = "Client Message:Hello!!!"; byte[] data = new byte[1024]; data = Encoding.ASCII.GetBytes(welcome); //给服务端发送测试消息 ConnSocket.SendTo(data, data.Length, SocketFlags.None, ipe); IPEndPoint server = new IPEndPoint(IPAddress.Any, 0); //服务端终结点 EndPoint Remote = (EndPoint)server; data = new byte[1024]; //对于不存在的IP地址,加入此行代码后,可以在指定时间内解除阻塞模式限制 //server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 100); int recv = ConnSocket.ReceiveFrom(data, ref Remote); //打印从服务端发回的信息 Console.WriteLine("Message received from {0}: ", Remote.ToString()); Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv)); while (true) //可以实时给服务端发送消息 {     string input = Console.ReadLine();     if (input == "exit") //中断连接     {         ConnSocket.SendTo(Encoding.ASCII.GetBytes(input), Remote);         data = new byte[1024];         recv = ConnSocket.ReceiveFrom(data, ref Remote);         Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));         break;     }     else     {         ConnSocket.SendTo(Encoding.ASCII.GetBytes("Client Message:" + input), Remote);         data = new byte[1024];         recv = ConnSocket.ReceiveFrom(data, ref Remote);         Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));     } } Console.WriteLine("Stopping Client."); ConnSocket.Close();