python获取当前socket连接状态,是连接还是断开。 5
1个回答
展开全部
socket建立连接后,你可以在上面加一个超时,如果超时异常出现就是断开了。
另外可以用select(inlist,writelist,errorlist,timeout)的办法,去轮询它。超过比如60秒,就认为它超时。
在操作系统层面,你可以用netstat 找到这个socket连接,看它的TCP状态。如果到了CLOSE_WAIT, TIME_WAIT,就是对方或者是自己关闭了。 如果是FIN2.。。。SEN。。或者是SYN_XXX就是还是连接或者是发送状态中。
通常这些状态在操作系统的TCP协议里都设置有超时。如果超时过了,它自己会关闭。然后变成WAIT状态。
另外可以用select(inlist,writelist,errorlist,timeout)的办法,去轮询它。超过比如60秒,就认为它超时。
在操作系统层面,你可以用netstat 找到这个socket连接,看它的TCP状态。如果到了CLOSE_WAIT, TIME_WAIT,就是对方或者是自己关闭了。 如果是FIN2.。。。SEN。。或者是SYN_XXX就是还是连接或者是发送状态中。
通常这些状态在操作系统的TCP协议里都设置有超时。如果超时过了,它自己会关闭。然后变成WAIT状态。
更多追问追答
追问
select我试过好像不可以。
追答
自定义idle 时间长度,你可以参考tiny_proxy, 一个python写的小程序,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
要从电脑的一个串行口接收数据并将其从另一个串行口发送出去,你可以使用以下步骤:1. 确定你要使用的两个串行口。在大多数计算机上,串行口通常被称为COM1、COM2等。确保你了解每个串行口的名称或编号。2. 编写一个程序来读取来自一个串行口的...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询