2024年3月31日发(作者:)

贴2段能稳定重现10053的代码,下面是客户端:

[cpp] view plaincopy

1.

WORD VersionRequested;

2.

WSADATA WsaData;

3.

VersionRequested = MAKEWORD(2, 2);

4.

if (WSAStartup(VersionRequested, &WsaData))

5.

return -1;

6.

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

7.

SOCKADDR_IN AddrServer;

8.

_addr.S_un.S_addr = inet_addr("127.0.0.1");

9.

_port = htons(9999);

10.

_family = AF_INET;

11.

// 连接服务器

12.

if (0 != connect(SocketServer, (SOCKADDR *)&AddrServer, sizeof(SOCK

ADDR)))

13.

{

14.

closesocket(SocketServer);

15.

return false;

16.

}

17.

int err = 0;

18.

char temp[] = "hello, server";

19.

int rs = send(SocketServer, temp, sizeof(temp) + 1, 0);

20.

char buff[1024] = {0};

21.

rs = recv(SocketServer, buff, sizeof(buff), 0);

22.

// 下面这2句代码如果注释掉,后面的recv就能正解的返回0。如果不注释

掉,recv就会返回-1,

23.

// 并得到10053这个错误