プロセスは2つのTCP接続を同時に開いたり維持したりできますか? [送受信する]。 私は次のシナリオを試してみました:複数のTCP接続(C言語)
1)クライアントが1つのポート上のサーバーに接続し、それを送信すると、それはACKを取得するために別のポート13102で待機します)13101.
2を言います。
3)ここでサーバーは複数の接続[同じポート番号でselect()を使用する]を処理できます。
1)サーバはClient1からデータを受信していて、データを処理していて、[クライアント1に戻る]ために新しいTCP接続[ポート13102]を準備しています。データを送信しようとしています。 「接続が拒否されました」と失敗します。
2)上記の問題を確認するために、データをポート13102 [クライアント1がリスニングモードにあるとき]に送信する別のclient2プログラムを書きました。依然としてクライアント2が「接続が拒否されました」というエラーが発生しています。
Bret、Iamはクライアント/サーバーの両方を同じマシン上で実行しています。はい、TCP/IPソケットが双方向であることは間違いありません。私は2つのソケットに、私は最初に上記のエラーに直面したときに変更されました。それでもエラーは残っていた。 –
さらに進化するには、いくつかのソースコードを投稿する必要があります。接続が拒否されたということは、問題のポートに何もバインドされていないか、または何か他のものがそれを拒否している(したがって、ファイアウォールの理論)ことを意味します。あなたはbind()を呼び出しますか? –