20240616
By wdhuag
目录
如题,工作中用到了,做个小程序验证一下功能。
C#使用Socket发送和接收TCP数据示例_c#tcp通信获取对方port-CSDN博客
C#实现Socket_TCP/IP(客户端,服务器端通信)_c# - 获取tcp服务器端口的所有客户端-CSDN博客
c#实现最简单的socket通信(一对一)_c# socket tcp client一对一server-CSDN博客
C#中通过Socket实现一个简单的TCP\IP服务器和客户端的搭建_tcp 服务端 客户端制作c#-CSDN博客
C#服务端与多客户端进行Tcp通信_c# tcp server-CSDN博客
C#中Socket关闭 Close、Dispose、Shutdown、Disconnect - jshchg - 博客园 (cnblogs.com)
- private Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-
- string ip = 服务器IP地址;
- int port = 服务器端口;
- EndPoint _endPoint = new IPEndPoint(IPAddress.Parse(ip), port);
- serverSocket.Bind(_endPoint); //绑定端口
- serverSocket.Listen(100); //最大连接数
- serverSocket.Shutdown(SocketShutdown.Both);
- serverSocket.Close();
- serverSocket.Dispose(); //不释放资源无法重新连接
- private Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-
- string ip = 服务器ip地址;
- int port = 服务器端口;
- clientSocket.Connect(new IPEndPoint(IPAddress.Parse(ip), port));
clientSocket.Disconnect(false);
- byte[] data = new byte[1024];
- int length = clientSocket.Receive(data);
- string message = Encoding.UTF8.GetString(data, 0, length);
- clientSocket = serverSocket.Accept();
-
- byte[] data = new byte[1024];
- int length = clientSocket.Receive(data);
- string message = Encoding.UTF8.GetString(data, 0, length);
- string cmd = 信息;
- clientSocket.Send(Encoding.UTF8.GetBytes(cmd));
1、服务器强行关闭Socket,clientSocket = serverSocket.Accept();这一段会报错。。。如何完美停止?

2、服务端接收需要用多线程,不然只能接收最后连接客户端的信息。

链接: 度盘
提取码:ihdp
END