私はteamviewerに似たものを作ろうとしています。私のサーバはクライアントにコマンドを送信し、クライアントはスクリーンショットを送信します。私はJLabelでこれらを表示し続けます。他のコマンドは "ストリームオーディオ"と言うと、クライアントストリームのオーディオをデスクトップストリームと共に(サーバーはどのデータが受信されたのかを理解できるはずです)どうすればできますか? NIOを使うべきですか?私は、NIOが複数の出力を記述し、複数の出力を読み出すのにどのように役立つのか理解していません。複数のストリームを正しく送受信する方法
編集-例えば、私のサーバはコマンドを送信し、クライアントは新しいスレッドで画面をストリームし、サーバは再びオーディオを取得するコマンドを送信し、クライアントはオーディオを取得するために他のスレッドを開始します。サーバーに2バイトが入ってきたら、私のサーバーはそれをどのように正しく処理できますか?
NIOはほとんどが途中で入ります。各ストリームの前にストリーム識別子と長さを送信する必要があります。 DataInput/OutputStreamsは行く方法です。 – EJP
@EJP DataInputStreamとDataOutputStreamを使用し、それらをbyte []に変換して送信し、そこにイメージを再作成します。クライアント/サーバアーキテクチャは、クライアントに応答を送信した場合のみ、私は画像のバイトと一緒に送ると画像が壊れますか? –
私がすでに言ったように、長さとともにそれを最初に送ってください。 * *画像バイトの前。型にはshortまたはintがあり、長さにはint(おそらく)があります。 – EJP