23. ブロッキングモードのデバッグ 2 (複数クライアント)

ブロッキング モードのデバッグ 2 (複数のクライアント)

ステップ 1: 私たちはまだ前のクライアントです。テストするために新しいデータを送信するだけです

 

テスト: 新しいクライアント接続ではなく、まだ以前のクライアント接続であるため、コンテンツは空です。したがって、次のメソッドは実行できません

 

ステップ 2: 新しいクライアントを開始します

 

何もここにありません

 

テスト: 彼は 56644 の新しいクライアント接続を受け取りました

以下の理由は、私たちが以前にこんにちはを送ったため、新しい接続が入ってきたときに彼が次の実行を開始したため、一緒に接続されたデータを受信したためです(最後の出力が 56644 である理由をここで分析してください。新しい接続を開始したばかりです)もブレークポイントに到達する(データは送信されない)ため、次の処理を実行し、接続が 2 つありますが、この 56644 にはデータがないため、 56644 data にループするときにデータがないときにブロックされ、スレッドが停止します(ブロックは状態、ブロック後、スレッドが停止します))

 

この欠陥はここで明らかにされています (ここではブロッキング モードにあり、単一のスレッドが複数の接続を処理します)

おすすめ

転載: blog.csdn.net/logtcm4/article/details/127804018