ソケットの処理方法を理解するのに問題があります。新しい接続があるかどうかを確認する必要があるため、サーバーソケットは独自のスレッドで実行する必要があることがわかりました。さて、新しい接続によって開かれたすべてのソケットがスレッドで実行されるべきかどうかはわかりません。
私が念頭に置いているのは、ソケットが状態になるたびにチェックすることです。読むべきものがあれば、読んでください。そうでない場合は、次のソケットを確認してください。このプロセスがスレッドで行われる例をいくつか見ますが、ソケットに何かをさせたくないので、データがあるかどうかを読み取って処理したいだけです。