擅长:python、mysql、java
<p>您的问题是因为在使用流套接字时需要控制消息长度。在</p>
<p>那里发生了什么:</p>
<p>你的客户机正在发送一些数据(N字节)。
您的服务器正在从套接字读取数据,但它不知道您的“消息”是否已完成或将发送一些附加数据。在</p>
<p>你能做什么?
如果你愿意更换</p>
<blockquote>
<p>self.rfile.readline()</p>
</blockquote>
<p>与self.request.recv(10) -您的服务器将读取10个字节并将其发送回。因此,您可以为服务器和客户端将要发送的消息设置一些消息大小。在</p>
<p>这里还有一些有用的信息:
<a href="https://docs.python.org/2/howto/sockets.html#using-a-socket" rel="nofollow">https://docs.python.org/2/howto/sockets.html#using-a-socket</a></p>
<p>下面是最简单的聊天示例:</p>
<p><em>客户</em></p>
<pre><code>def handler(req):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("localhost", PORT))
message = req
s.send(req)
print s.recv(1024)
s.close()
</code></pre>
<p><em>服务器</em></p>
^{pr2}$
<p>但是,以后可能会遇到一些问题,python文档可以帮助您理解它是如何工作的。在</p>