【发布时间】:2010-06-09 06:12:15
【问题描述】:
我基于Twisted写了一个服务器,遇到一个问题,有些客户端断开连接不优雅。比如用户拔出网线。
有一段时间,Windows上的客户端断开连接(调用connectionLost,也是用Twisted写的)。而在 Linux 服务器端,我的 connectionLost of twisted 永远不会被触发。甚至当连接丢失时它也会尝试将数据写入客户端。为什么 Twisted 在 Linux 上无法检测到那些非正常断开连接(甚至向客户端写入数据)?如何让 Twisted 检测到非正常断开连接?因为 Twisted 功能无法检测到非优雅,所以我的服务器上有很多僵尸用户。
---- 更新----
我认为这可能是类 unix 操作系统的套接字的特性,那么,类 unix 上的套接字在处理这种情况时的行为是什么?
谢谢。 维克多·林。
【问题讨论】:
标签: python networking twisted