【发布时间】:2017-08-09 04:35:41
【问题描述】:
我正在尝试通过套接字将图像(屏幕截图)从客户端发送到服务器。在 Python 2 中,我能够使用 read() 和 write() 函数来读取和写入二进制数据以及 StringIO。但是它们都在 Python 3 中消失了。我在玩 PIL,但我无法让测试程序运行。
客户
image = ImageGrab.grab()
s.send(image.tobytes())
我使用GrabImage 创建了一个屏幕截图并将其保存为image。之后,我通过套接字将图像作为二进制文件发送到服务器。
服务器
data = conn.recv(4194304)
img = Image.frombytes('RGB', (1366, 768), data)
img.save('screenshot.jpg')
但是,如果我运行脚本,我会收到一条错误消息:ValueError: not enough image data
我想我错过了一些决定性的东西,但我想不通。
谢谢你,chrizator。
【问题讨论】: