:ここで何が起こっている2つのサーバスレッドを2つのクライアントスレッドと通信させるにはどうすればよいですか?私は基本的にこれを達成したい
ServerThreadA ClientThreadA
\ /
--->>>--->>>--->>>---
SOCKET
--->>>--->>>--->>>---
/ \
ServerThreadB ClientThreadB
は、私はクライアント側で2つのそれぞれのスレッドにデータを送信するサーバ上で2つのスレッドを持っているということです。具体的には、サーバー上のDataOutputStreamの.writeUTF(String)とクライアントのDataInputStreamの.readUTF()を使用する必要があります。
ServerThreadAがストリームに何かを書き込む場合、ClientThreadAはClientThreadBを読み込みません。同じように、私はClientThreadBにServerThreadAが書いたものを読み込ませたくありません。
私はこれを達成する方法はありますか?
EDIT:
私はすでに説明していないかもしれないと思います:複数の接続を受け入れて、それぞれのサーバーに作業するスレッドを与える方法はすでに分かっています。同じ方向に、同じクライアントで複数の通信が行われます。だから、サーバーがクライアントに接続し、接続を表すスレッドが作成されたとしますが、私がしたいことは2つの異なるチャネルから読み込み、異なるタイプのデータを転送することです。たとえば、クライアントが同時に2つの文字列を送信し、サーバが同時にを読み取るようにしたい場合があります。
私はよく説明していないかもしれないと思います。私は既に、複数の接続を受け入れることができるサーバーを作成し、それぞれのサーバーに作業のスレッドを与える方法を知っています。同じ方向に、同じクライアントにだから、サーバーがクライアントに接続し、接続を表すスレッドが作成されたとしますが、私がしたいことは2つの異なるチャネルから読み込み、異なるタイプのデータを転送することです。例えば、私はクライアントが2つの文字列を同時に送信し、サーバが同時に*を読むことを望むかもしれません。* –