ソケット(画像)をクライアントからサーバーに送信しようとしています。 Python 2では、バイナリデータとStringIO
を読み書きするためにread()
とwrite()
関数を使用することができました。しかし、それらはすべてPython 3で消えました。PIL
で遊んでいましたが、テストプログラムを実行できません。Python 3でソケットを介して画像を送信
CLIENT
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。
ありがとうございました!私は何度もそれを見て、私はいつも不思議に思っていました。なぜ人々がそれをやっているのですか?もう一度、私を助けてくれてありがとう! – chrizator