0

私はwinsockを使用しており、標準的な方法でソケットを開きます(エラーは正しく処理されますが、この質問のためにコードを簡潔にしました)。

SOCKET sSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

そのように接続すると、接続が切れることがあります。

connect(sSocket, reinterpret_cast<SOCKADDR*>(&sinAddr), sizeof(sinAddr));

これが発生した場合、ソケットを閉じて再作成する必要がありますか、それともconnect()を再度呼び出す必要がありますか?

4

1 に答える 1

1

ソケットがclose()編集されると、それは使用できなくなります。

またはその逆:close()ソケットで呼び出されていない限り、(再)使用できます。

の呼び出しsocket()は、呼び出しプロセスにソケット記述子を割り当てます。close()ソケット記述子が存在し、が呼び出されるまでプロセスに割り当てられたままになります。

于 2013-02-02T11:28:15.047 に答える