光阴似箭催人老,日月如移越少年。
具体问题出现在哪里我还不是很清楚,不过我有一个建议:
客户端在连接建立成功后不要发送文件大小,而是以固定的长度发送数据,每一组数据先发送一个标志length,然后发送固定长度的数据,最后一条数据的长度可以很容易获得,最后发送标志0;
服务端先接受标志length,然后接收相应长度的数据,length为0时文件传输结束;
length标志的长度设置为4(够1024的int用)
length = int(s.recv(4).decode('utf8'))。 f.write(s.recv(length))
具体问题出现在哪里我还不是很清楚,不过我有一个建议:
客户端在连接建立成功后不要发送文件大小,而是以固定的长度发送数据,每一组数据先发送一个标志length,然后发送固定长度的数据,最后一条数据的长度可以很容易获得,最后发送标志0;
服务端先接受标志length,然后接收相应长度的数据,length为0时文件传输结束;
length标志的长度设置为4(够1024的int用)