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));

从第二次连接后开始,我将 WSAError 设置为 10056 - 很容易理解,但在某些尝试中,即使第一次调用连接,我也开始得到 10061。我认为它在 5 或 6 个程序执行时开始发生。

为什么会这样?

更新:

至少我不会用一个套接字调用 connect 两次:)

4

0 回答 0