質問するログイン新規登録

質問編集履歴

1

質問内容の修正

2020/08/27 08:01

投稿

hawk_daily
hawk_daily

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,11 +1,11 @@
1
1
  <背景>
2
2
  pythonでソケット通信の勉強をしています。
3
3
  recv()のバッファサイズについて、よく参考書では1024バイトなどが固定で指定されていますが、仮にバッファよりも大きいデータが来た場合,対応するにはどうしたらよいかという疑問に行きつきました。
4
- そこで、recv()をループさせて、とりあえず1バイトずつ読み取って、最後に合算したデータをクライアントに送信できないかと思い、以下のプログラムを書いてみましたが上手くいきません
4
+ そこで、recv()をループさせて、とりあえず1バイトずつ読み取って、最後に合算したデータをクライアントに送信できないかと思い、以下のプログラムを書いてみました。
5
5
 
6
6
  <ご質問内容>
7
- recv()をwhileでループして、データを「data_total」変数に足し合わせていき、最後までデータを読んだところで、まとめてクライアントに送りたいのですが、以下のプログラムではrecvで最後まで読んだ後に、「if not data:」の条件文までいかずに、recv()で止まってしまいます。
7
+ recv()をwhileでループして、データを「data_total」変数に足し合わせていき、最後までデータを読んだところで、まとめてクライアントに送りたいのですが、以下のプログラムではrecvで最後まで読んだ後に、「if not data:」の条件文までいかずに、recv()で止まってしまいます。
8
- どのようにしたら実現できるでしょうか。
8
+ どのようにしたらrecv()止まらずに「if not data:」の条件文でブレイクできるでしょうか。
9
9
  ご教示の程何卒よろしくお願い致します。
10
10
 
11
11
  ```python