1

c++ で同時オープン TCP 接続を実装することは可能ですか。あなたの親切な情報のために、私は以下の同時オープンTCP接続の参照を提供しています

http://ttcplinux.sourceforge.net/documents/one/tcpstate/tcpstate.html

4

1 に答える 1

1

この状態図に基づいて、次の 2 つの可能性が考えられます。

1) 双方がconnect()同時に通話している。これには両方の IP/ポート ペアを事前に知る必要があるため、両方の当事者がbind()特定の IP/ポート ペアを取得し、(ハードコードされていない場合) を呼び出す前にその情報を相互に交換する必要がありconnect()ます。

2) 一方の当事者が呼び出しlisten()、次にsendto()リッスン ソケットを使用して、もう一方の当事者が呼び出しconnect()後に同時に呼び出している場合bind()

どちらの条件も、ソケット プログラミングでは一般的ではありません。2 つのクライアントconnect()が互いに通信することはありません。リッスンしているソケットでデータを送信することはめったにありませんaccept()。最初に確立されたエンドポイントが返されるのを待ってから、代わりにそれを使用してデータを送信します。

于 2012-11-02T04:00:06.190 に答える