#问题笔记
在客户端创建完socket套接字后
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
想要关闭有 close 和 shutdown两种方法
client.close()
但是使用close 关闭遇到一个问题,客户端上虽然client不存在了,接收也已经关闭。但是服务端还是保留了这个client连接时的端口。
查阅资料发现 close只是释放了资源, 想要真正断开连接需要在此之前调用shutdown
client.shutdown(socket.SHUT_RDWR)
其中参数为:SHUT_RDWR:关闭读写 SHUT_RD:关闭读 SHUT_WR:关闭写
通过shutdown关闭可以实现真正的断开连接
参考文章:
参考:python3 socket shutdown 简介_python socket shutdown-CSDN博客文章浏览阅读3.3k次。如果要表示输出数据已经结束,则可以通过关闭 socket 来实现。但如果彻底关闭了 socket,则会导致程序无法再从该 socket 中读取数据。在这种情况下,socket 提供了一个shutdown(how)关闭方法,该方法可以只关闭 socket 的输入或输出部分,用以表示输出数据已经发送完成。shutdown 方法的 how 参数接受如下参数值:SHUT_RD:关闭 socke..._python socket shutdownhttps://blog.csdn.net/whatday/article/details/103537161/python中socket.shutdown的用法_python socket shutdown-CSDN博客文章浏览阅读9.5k次,点赞2次,收藏8次。直接看代码'''使用使用shutdown来关闭socket的功能SHUT_RDWR:关闭读写,即不可以使用send/write/recv/readSHUT_RD:关闭读,即不可以使用recv/readSHUT_WR:关闭写,即不可以使用send/write'''import sockets = socket.socket(socket.AF_INET,socket.SOCK_..._python socket shutdown
https://blog.csdn.net/qq_38839677/article/details/82288153https://jingyan.baidu.com/article/656db918d9172aa280249c36.html
分享在遇到问题时的一些记录,有不足或错误的地方请您原谅,感谢您的阅读。