【发布时间】:2012-09-13 13:56:40
【问题描述】:
我的 TCP 服务器是用 Qt 4.7 编写的,可以很好地与同样用 Qt 4.7 编写的 TCP 客户端配合使用。
我正在尝试使用用 python 2.7.3 编写的客户端与服务器连接和通信。我通过带有subprocess.call(path_to_server) 的apache http 请求启动服务器进程。我正在使用 mod_wsgi 3.3 和 django 1.4。
连接建立没有问题。我在socket.send() 上随机收到[Errno 32] Broken pipe 异常(我可以发送相同的消息10 次,它会被发送0-10 次)。 socket.shutdown() & socket.close() 也有同样的情况,我可以发送垃圾邮件断开命令,它会随机断开连接,否则会收到 [Errno 107] Transport endpoint is not connected 异常。
netstat -nap 表示连接已建立。
当我尝试使用 python2.7 shell 运行相同的客户端脚本时,一切正常。
我在这里错过了什么?
EDIT
一切都在 Windows 7 上运行,运行相同的 apache、mod_wsgi、python、django 配置。 TCP Server 也与 Windows 兼容。 centos6.2 32bit出现错误。
【问题讨论】:
-
特别检查 apache 设置,KeepAlive 和 KeepAliveRequests。看起来很有希望,稍后会报告。
标签: python apache tcp broken-pipe sigpipe