gpt4 book ai didi

python - 为什么我的网络服务器有时只传输部分响应?

转载 作者:太空狗 更新时间:2023-10-29 12:35:48 26 4
gpt4 key购买 nike

我有一段定制的网络服务器代码。它是使用 evnet module. 编写的

当从远程客户端请求时,消息的长度似乎被削减了。但是当我在同一台机器上使用它时,它似乎传达了完整的信息。我无法弄清楚问题可能是什么或如何诊断它。我使用网络浏览器 curlnc 对其进行了测试。当从远程客户端请求时,它从不传递完整的消息。

Here's我的网络服务器的简化版本仍然存在问题。我正在使用 Python 2.7.1 在 Ubuntu 11.04 上执行此操作

最佳答案

您在调用 send() 发送一堆数据后立即关闭套接字。如果仍有数据缓冲,当您关闭套接字时,它会被丢弃。

相反,您应该调用 shutdown(SHUT_WR)在套接字上告诉远程端您已完成发送。这称为 TCP“半关闭”。作为响应,另一端将关闭其一侧,您将收到套接字不再可读的通知。然后,也只有到那时,您才应该关闭套接字句柄。

关于python - 为什么我的网络服务器有时只传输部分响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12029401/

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