擅长:python、mysql、java
<p>确保您使用的套接字为:<code>socket.SOCK_STREAM</code>!这意味着套接字使用TCP,它确保您的数据按顺序到达(在合理的“保证”范围内)。如果问题仍然存在,请继续阅读。。。你知道吗</p>
<p>我将首先<a href="https://docs.python.org/2/library/base64.html" rel="nofollow noreferrer">base64</a>对您的文件进行编码,以消除数据中的任何奇怪之处。base64使用<a href="https://tools.ietf.org/html/rfc3548.html#section-1" rel="nofollow noreferrer">limited alphabet</a>对数据进行编码。因此,添加一个不在该字母表中的标记符号既简单又安全。您可以直接执行(伪代码):</p>
<pre><code>while ('$'.encode('utf-8') not in l):
l = c.recv(1024)
# append l to a bytearray or similar
</code></pre>
<p>你只要发送<code>"$<base64filecontent>$"</code>。你知道吗</p>