1

我正在为我自己的协议使用 Python 编写的服务器,但我遇到了问题。客户端连接到服务端,得到了sendall()三组数据:一个包标识字节,一个字符串长度,一个UTF-8编码字符串。

在客户端,我没有收到任何错误,但在服务器端,这是:

error: [Errno 10054] An existing connection was forcibly closed by the remote host

发生。错误每次都发生在不同的行,有时在recv()识别字节时,有时在读取字符串长度时,有时在读取字符串本身时,有时它工作得非常好,就像它应该做的那样。

这里发生了什么?服务器计算机有防火墙例外。客户端连接,连续发送三条数据,然后关闭套接字。我这样做是不是太快了?

谢谢。

4

2 回答 2

2

好吧,这不是一个长期存在的问题。

看起来我关闭套接字客户端的速度太快了,在添加限制后,我停止了错误。

谢谢!

于 2013-03-09T01:36:49.570 回答
0

此问题的通常原因是写入已被对等方关闭的连接:换句话说,应用程序协议错误,写入永远不会被读取的数据。

于 2013-03-09T09:25:49.290 回答