2. inet_addr()

windows下需要winsock2.h

linux需要arpa/inet.h

3. 非阻塞connect操作

Windows WSAEWOULDBLOCK

linux EINPROGRESS,这两个错误并不表示连接失败,其余错误连接失败return

总结:

#ifdef WIN32
#include <winsock2.h>
#define NonBlockNormalError WSAEWOULDBLOCK
#define close closesocket //这个也可以反向操作,看怎么方便
#pragma comment(lib, "Ws2_32.lib")
#else
#include <netinet/in.h>
#include <unistd.h>
#include <fcntl.h>
#include <arpa/inet.h>
#define NonBlockNormalError EINPROGRESS
#endif