1

これは私がテストに使用するプログラムです

SOCKET s = socket(AF_INET, SOCK_STREAM, 0);
int noDelay = 1;
setsockopt(s, IPPROTO_TCP, TCP_NODELAY, reinterpret_cast < const char* >(&noDelay), sizeof(noDelay)

sockaddr_in serverAddress;
serverAddress.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
serverAddress.sin_family           = AF_INET;
serverAddress.sin_port             = htons(static_cast<unsigned short int>(port));

iResult = connect(s, (struct sockaddr*) &serverAddress, sizeof(serverAddress));
iResult = connect(s, (struct sockaddr*) &serverAddress, sizeof(serverAddress));

2回目の接続後の最初から、WSAErrorが10056に設定されています-かなり理解できますが、接続するための最初の呼び出しでも10061を取得し始める場合があります。5、6回のプログラム実行で発生し始めると思います。

なぜそれができるのですか?

アップデート:

少なくとも、1 つのソケットで connect を 2 回呼び出す必要はありません :)

4

0 に答える 0