【发布时间】:2010-12-27 20:51:56
【问题描述】:
我有一个连接了几个客户端的服务器。当按下 CTRL+C 时(即反应堆开始关闭),我想关闭所有连接,等到它们完全关闭,然后停止。我通过连接客户端的传输并调用.loseConnection() 来做到这一点。在本地连接的那些上,它们会立即断开连接。但是,在通过 Internet 连接的设备上,连接不会立即丢失。通信停止 - 关闭客户端程序甚至不再告诉服务器连接已终止,尽管它在调用 .loseConnection() 之前确实如此 - 但直到几分钟后,在我发送了一些心跳请求后,连接才被视为“丢失”从服务器。
我了解,如果连接中断,服务器无法知道,除非它尝试发送一些数据。但是,如果我特别要求关闭连接,为什么它不立即关闭/断开连接?我是不是调用了错误的函数?
【问题讨论】:
标签: networking tcp network-programming connection twisted