c# socket编程

byte[] receivedBytes = new byte[1024000];
IPHostEntry ipHost = Dns.Resolve(ipaddress); //ipaddress可以是string类型的ip地址,为服务器端的ip地址
IPAddress ipAddress = ipHost.AddressList[0];

IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 2323);

Socket sk = new Socket(AddressFamily.InterNetwork,
                                                 SocketType.Stream,
                                                 ProtocolType.Tcp); //建立socket已链接到服务器端

sk.Connect(ipEndPoint);//同步连接到服务器,实现与服务器端的通信

string sendDataToServer = "hello server“;

sk.Send(sendDataToServer);

sk.Shutdown(SocketShutdown.Both);
sk.Close();//关闭socket连接并释放资源

以上就是整个c#socket客户端的编程方式,但是以上有个问题Dns.Resolve(ipaddress)方法已过时,但是也可以使用。

通过实际调试发现此方法延时比较厉害(原因未知),可以把上面红色的两行用这行替换IPAddress ipAddress = Dns.GetHostAddresses(gdn.GatewayIp)[0];

这样延时现象就解决了

原文地址:https://www.cnblogs.com/tianmochou/p/5062828.html