笔记1 python socket 中 close和shutdown的问题

#问题笔记

在客户端创建完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 shutdownhttps://blog.csdn.net/qq_38839677/article/details/82288153https://jingyan.baidu.com/article/656db918d9172aa280249c36.html

分享在遇到问题时的一些记录,有不足或错误的地方请您原谅,感谢您的阅读。

  • 34
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Pythonsocketshutdown()方法用于关闭socket的输入或输出部分。通过调用shutdown()方法可以实现对socket的部分关闭,将socket置于"半关闭"状态。的代码示例,可以看到在调用s.shutdown(socket.SHUT_RDWR)之后,socket的读写功能将被关闭,即无法再使用send/write/recv/read方法进行数据的发送和接收。 在引用的代码示例,服务器端先向客户端发送多条数据,然后通过skt.shutdown(socket.SHUT_WR)关闭了socket的输出部分,表示数据发送结束。尽管输出部分已经关闭,但仍然可以从socket读取数据。 总结来说,shutdown()方法是用来关闭socket的输入或输出部分,使socket处于"半关闭"状态。通过调用shutdown()方法可以实现对socket的读写功能的关闭。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pythonsocket.shutdown的用法](https://blog.csdn.net/qq_38839677/article/details/82288153)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python3 socket shutdown 简介](https://blog.csdn.net/whatday/article/details/103537161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值