python获取当前socket连接状态,是连接还是断开。 5

 我来答
bdwisyou7d
2013-02-23 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1072万
展开全部
socket建立连接后,你可以在上面加一个超时,如果超时异常出现就是断开了。

另外可以用select(inlist,writelist,errorlist,timeout)的办法,去轮询它。超过比如60秒,就认为它超时。

在操作系统层面,你可以用netstat 找到这个socket连接,看它的TCP状态。如果到了CLOSE_WAIT, TIME_WAIT,就是对方或者是自己关闭了。 如果是FIN2.。。。SEN。。或者是SYN_XXX就是还是连接或者是发送状态中。

通常这些状态在操作系统的TCP协议里都设置有超时。如果超时过了,它自己会关闭。然后变成WAIT状态。
更多追问追答
追问
select我试过好像不可以。
追答
自定义idle 时间长度,你可以参考tiny_proxy, 一个python写的小程序,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式