在 python 中,tcp 连接返回成功,即使连接请求在服务器端排队。有什么办法可以知道在客户端是否接受发生或在服务器端排队?
最佳答案
该问题与 Python 无关,而是由底层套接字机制引起的,它尽最大努力对程序隐藏低级网络事件。我能想象的最好的方法是尝试更高级别的协议(protocol)握手(发送一个问候字符串并设置接收答案的超时时间),但这对以下问题没有区别:
- 连接在对端排队,但仍未被接受
- 已接受连接,但由于任何其他原因服务器无法在分配的时间内处理它
- (仅当超时非常短时)机器(包括发送方)和网络拥塞增加了比超时更大的延迟
我的建议很简单,您甚至不想担心如此低级的细节。由于连接被接受后服务器端可能会出现问题,您将不得不处理可能的更高级别的协议(protocol)错误、超时或连接丢失。只是说接受连接后的超时和接受连接的超时没有区别。
关于python - 如何知道python中tcp connect的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48089780/