【问题标题】:Sending an image from client to server over a socket connection通过套接字连接将图像从客户端发送到服务器
【发布时间】:2019-08-08 00:45:06
【问题描述】:

我在客户端编写了一些将图像转换为十六进制的代码,然后将十六进制值发送到服务器。在服务器端,这个十六进制将被转换为二进制并将二进制值写入文件。但我没有得到相同的图像。生成的图像根本不可见。

客户端:

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)

编辑

如果我使用“print binary”打印“binary”,那么我得到的输出为 ÿØÿà

这里发生了什么?请帮忙。

【问题讨论】:

  • 成功了!当我使用较大的值而不是 1024 时,我得到了相同的图像。谢谢你..

标签: python python-2.7 sockets binary hex


【解决方案1】:

将1024(接收数据的长度)改为发送数据的长度即可解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 2017-05-26
    相关资源
    最近更新 更多