gpt4 book ai didi

networking - twisted .loseConnection 不会立即失去连接?

转载 作者:可可西里 更新时间:2023-11-01 02:52:58 25 4
gpt4 key购买 nike

我有一个连接了几个客户端的服务器。当按下 CTRL+C 时(即 react 器开始关闭),我想关闭所有连接,等到它们完全关闭,然后停止。我通过检查已连接客户端的传输并调用 .loseConnection() 来完成此操作。在本地连接的那些上,它们会立即断开连接。但是,在通过互联网连接的设备上,连接不会立即丢失。通信停止 - 关闭客户端程序甚至不再告诉服务器连接已终止,尽管它在调用 .loseConnection() 之前告诉服务器 - 但直到几分钟后连接才会被视为“丢失”后来我从服务器发送了一些心跳请求。

我知道如果连接中断,服务器无法知道,除非它尝试发送一些数据。但是,如果我特别要求关闭连接,为什么它不立即关闭/断开连接?我调用了错误的函数吗?

最佳答案

loseConnection 在关闭连接之前刷新写入缓冲区。如果你不想等待它发生,就让 react 堆在它发生之前停止。它们将以这种方式关闭,并丢弃其写入缓冲区中所有未发送的数据。

还有一个建议是添加一个用于丢弃写入缓冲区和断开连接的 API,abortConnection .

关于networking - twisted .loseConnection 不会立即失去连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4541744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com