擅长:python、mysql、java
<p>我建议使用readline作为缓冲区,并使用“\n”作为行之间的分隔符:</p>
<pre><code>#read one line from the socket
def buffered_readLine(socket):
line = ""
while True:
part = socket.recv(1)
if part != "\n":
line+=part
elif part == "\n":
break
return line
</code></pre>
<p>当您希望在不关闭套接字的情况下缓冲时,这很有帮助。</p>
<p>当没有数据发送时,sock.recv(1024)将挂起,除非您关闭另一端的套接字。</p>