我试图使用 tcp 从服务器向客户端发送图像文件。我尝试打开文件,读取它,然后使用 self.transport.write 传输它。在客户端,当我收到数据时,我以附加模式打开一个名为 Image 的文件,然后写入它。
客户:
class EchoClient(protocol.Protocol):
def dataReceived(self, data):
print 'writing to file'
f = open('image.png','a')
f.write(data)
f.close()
服务器(继承协议):
//somewhere in the code
image = open(self.newdict[device_str] + attribute_str + '.png')
data = image.read()
image.close()
self.comm_protocol.transport.write(data)
在客户端打开文件会导致格式错误。任何想法我做错了什么?将图像作为字符串流式传输的想法是否不好?如果是这样,还有其他方法可以将数据传输到客户端吗?