私は、2つのサーバーA &から来るデータストリームを扱うクライアントコードを書いています.3つのノードはすべて同じローカルサブネット上にあります。私は、以下で説明するように定義された2つのソケットを作成しようとしています。2つのソケットを接続できないのはなぜですか?
ソケット記述= [ローカル/クライアントIP]:[ローカル/クライアントポート]:[/リモートサーバIP]:[/リモートサーバーポート]
ソケットに接続する:[192.168.40.10]: [50002]:[192.168.40.60]:[50002]
ソケットBに接続する:[192.168.40.10]:[50002]:[192.168.40.61]:[50002]
を私はしようとすると2番目のソケットを開くと、 "各ソケットアドレスは別名プロトコル/ネットワークアドレス/ポートを1回だけ使用できる"という例外があります。私は、ローカルIPアドレスとポート番号が同じであっても、リモートIPアドレスが異なるため、別のソケットを定義できると考えました。両方のデータストリームを同じソケットで消費するという選択肢はありませんか?
で行きます。 Windowsは無料のものを選択します。 localportは、ソケットをリッスンモードに設定した場合にのみ必要です。 –
私は、宛先IP 192.168.40.10を使用し、それぞれに固有の宛先ポートを使用するように2つのサーバーを構成する必要があると思います。次に、クライアントの2つのスレッドで実行されている2つのソケットを開き、各サーバーストリームからパケットを受信できます。これにより、私が書いたかなりの量のコードを単一のストリームで再利用することができます。 –