私は現在、Javaでtcpサーバーをプログラムする方法を学んでいます。新しい各クライアント接続 (マルチスレッド サーバー) 用に新しいスレッドを作成しています。
クライアントがサーバーに接続した後、クライアントからサーバーにデータを送信したいと考えています。サーバー側では、サーバーはソケット入力ストリームからデータを読み取る while ループにあります。ここで質問したいのですが、受信したパケットごとに新しいスレッドを作成する必要がありますか?
たとえば、クライアントは文字列「Hello」を送信します。サーバーがこのパケットを新しいスレッドで処理して、読み取りを続行できるようにする必要があります。新しいスレッドを作成しないと、サーバーは読み取りに戻らず、クライアントが「Hello」パケットの後に別のパケットを送信すると思うからです。たとえば "Bye" の場合、"Hello" パケットの処理でまだビジー状態である可能性があるため、サーバーはそれを読み取らない可能性があります。
明確にするために、サーバーソケットの受け入れ方法について話しているのではなく、ソケットの入力ストリームからのデータについて話しているのです。
これについて教えてください。