搜索

首页  >  问答  >  正文

python:socket传输大文件

大家讲道理大家讲道理2898 天前488

全部回复(1)我来回复

  • 怪我咯

    怪我咯2017-04-18 09:31:59

    具体问题出现在哪里我还不是很清楚,不过我有一个建议:

    • 客户端在连接建立成功后不要发送文件大小,而是以固定的长度发送数据,每一组数据先发送一个标志length,然后发送固定长度的数据,最后一条数据的长度可以很容易获得,最后发送标志0;

    • 服务端先接受标志length,然后接收相应长度的数据,length为0时文件传输结束;

    • length标志的长度设置为4(够1024的int用)

    length = int(s.recv(4).decode('utf8'))。
    f.write(s.recv(length))

    回复
    0
  • 取消回复