很多学员在使用send函数的时候,发现send总是能正常返回,看起来好像是“非阻塞”,其实它是阻塞的,以下代码为证:
服务端:
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD(2, 2);
WSAStartup(wVersionRequested, &wsaData);
SOCKET s = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrSrv;
addrSrv.sin_family = AF_INET;
addrSrv.sin_addr.S_un.S_addr = INADDR_ANY;
addrSrv.sin_port = htons(22222);
bind(s, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));
listen(s, 5);
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
SOCKET c=