为什么C#中通信结束后一定记得关闭socket?

2024-11-13 04:30:53
推荐回答(3个)
回答(1):

服务器端:
第一步:用指定的端口号和服务器的ip建立一个EndPoint对像;
第二步:建立一个Socket对像;
第三步:用socket对像的Bind()方法绑定EndPoint;
第四步:用socket对像的Listen()方法开始监听;
第五步:接受到客户端的连接,用socket对像的Accept()方法创建新的socket对像用于和请求的客户端进行通信;
第六步:通信结束后一定记得关闭socket;

客户端:
第一步:用指定的端口号和服务器的ip建立一个EndPoint对像;
第二步:建立一个Socket对像;
第三步:用socket对像的Connect()方法以上面建立的EndPoint对像做为参数,向服务器发出连接请求;
第四步:如果连接成功,就用socket对像的Send()方法向服务器发送信息;
第五步:用socket对像的Receive()方法接受服务器发来的信息 ;
第六步:通信结束后一定记得关闭socket;

从上面的客户端和服务器就可以看出 socket 需要占用很多的资源包括硬件资源和虚拟端口资源以及建立的链接通道和监听线程。
为什么关闭 就是因为他占用了很多的系统资源。

回答(2):

下次调用用就报错,new socket的时候,经常要关了开,开了关。。。

回答(3):

如果不关闭的话,再执行进程就会报错的