ソケットを使用してクライアントからサーバーに複数の画像ファイルを送信しようとしています。私の問題は、ストップビット (またはワード) が機能しないことです。
クライアント:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("server",port))
#grab image ...
s.send(imagedata)
s.send("#FINISH#")
s.close()
サーバ:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(("",port))
s.listen(1)
c,a = s.accept()
while True:
imagedata = c.recv(1024)
if not imagedata or "#FINISH#" in imagedata:
komm.close()
break
image = image + imagedata
s.close()
#remove stoppword and save image ...
これは単純な例にすぎませんが、問題を確認できます。2 番目の送信 (クライアント) がイメージデータに文字列を (場合によっては) 追加するため、「#FINISH#」を取得できません。recv の bufsize が原因であることはわかっています。どうすればいいですか?