Python ZMQ发送/接收zip文件

时间:2014-12-15 13:37:45

标签: python zeromq pyzmq

我正在尝试使用0MQ(ZMQ)来接收zip文件:

fileBuffer = dataSocket.recv()
dataSocket.send("2") #Send success signal
filename = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'programs', 'newProg.zip')
filehandle = open(filename, "w")
filehandle.write(fileBuffer)
filehandle.close()

该文件显示在正确的位置,但它已损坏 - Windows在尝试提取它时打开它并打开它时说它已损坏。我在文件中缺少某种编码吗?或其他什么?

由于

1 个答案:

答案 0 :(得分:0)

如果您打算使用框架buffer,您可能需要明确说明

fileBuffer = dataSocket.recv(copy=False).buffer()

请记住,默认情况下recv(copy)为True,返回字符串而不是Frame:

  

recv(flags = 0,copy = True,track = False)

     

copy:bool ...如果返回False,则返回Frame对象,如果为True,则返回消息的字符串副本。