似たようなスレッドをいくつか見ましたが、必要なものではありません。
サーバーは基本的にクライアント (クライアント A) から入力を受け取り、それをバイトごとに別のクライアント (クライアント B) に転送します。
クライアント A の入力ストリームをクライアント B の出力ストリームに接続したいのですが、可能ですか? それを行う方法は何ですか?
また、これらのクライアントは相互にメッセージを送信していますが、これは時間の影響を受けやすいため、バッファリングは機能しません。たとえば 500 のバッファーは必要なく、クライアントが 499 バイトを送信すると、サーバーはバッファーを満たす最後のバイトを受信していないため、500 バイトの転送を保留します。
現在、各メッセージを解析して長さを確認し、長さバイトを読み取ってから転送しています。これは非常に遅いため、バイトを読み取って何度も転送するよりも優れていると考えました (そしてテストしました)。また、前の段落で述べた理由から、バッファーやタイマーを使用したくなかったのです。バッファーがいっぱいではないという理由だけで、メッセージが通過するまで非常に長い時間待機することは望ましくありません。
これを行う良い方法は何ですか?