我正在尝试使用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在尝试提取它时打开它并打开它时说它已损坏。我在文件中缺少某种编码吗?或其他什么?
由于
答案 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,则返回消息的字符串副本。