我编写了一些代码,用于在客户端将图像转换为十六进制,然后将十六进制值发送到服务器。在服务器端,该十六进制将转换为二进制,并将二进制值写入文件。但我没有得到相同的图像。生成的图像根本不可见。
客户端:
with open('1.jpg',"rb") as f:
contents = f.read()
contentss = binascii.hexlify(contents)
s.send(contentss)
服务器端:
data = c.recv(1024)
binary = binascii.unhexlify(data)
f = open('1server.jpg',"wb")
f.write(binary)
编辑
如果我使用“打印二进制”打印“二进制”,那么我得到的输出为 ÿØÿà
这里发生了什么?请帮忙。
最佳答案
将 1024(接收数据的长度)更改为发送数据的长度将解决此问题。
关于python - 通过套接字连接将图像从客户端发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55207980/