回答編集履歴

2

デバッグ方法について追記

2024/12/16 17:45

投稿

teamikl
teamikl

スコア8817

test CHANGED
@@ -8,6 +8,11 @@
8
8
  - ループの終了判定 ` if word == "end" or not word:`
9
9
  - ワード数が4以下の時 random.choice で失敗して、クライアント側は空ループに陥りました。
10
10
 
11
+ デバッグ方法について、同様の問題の防止案
12
+ wordと result のprint では、どこの print の実行化が解らなくなってるので、logging モジュールを活用するか、
13
+ `print(f"{result=}')` のように変数名だけでも合わせて表示すると、何処で止まってるかがわかりやすくなります。
14
+
15
+
11
16
  懸念点: 質問とは関係ありませんが、最初はこっちを疑った。
12
17
  恐らくローカルサーバー接続だと正常稼働しますが、
13
18
  recv() でのデータ受け取りは、期待するデータが得られない場合があります。

1

誤字修正

2024/12/16 17:40

投稿

teamikl
teamikl

スコア8817

test CHANGED
@@ -6,7 +6,7 @@
6
6
  その後の `# サーバーから単語を受け取る` でサーバー・クライアント共にお互い待ち状態
7
7
  - 解決策: どちらか片方にすることで正常動作を確認
8
8
  - ループの終了判定 ` if word == "end" or not word:`
9
- - ワード数が4以下の時 random.choice で失敗して、クライアント側は空ループに陥りました。
9
+ - ワード数が4以下の時 random.choice で失敗して、クライアント側は空ループに陥りました。
10
10
 
11
11
  懸念点: 質問とは関係ありませんが、最初はこっちを疑った。
12
12
  恐らくローカルサーバー接続だと正常稼働しますが、