源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c# socket编程udp客户端实现代码分享

  • 时间:2022-06-18 17:46 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c# socket编程udp客户端实现代码分享
[u]复制代码[/u] 代码如下:
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();
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部