sockaddr结构体:
typedef struct sockaddr {
#if (_WIN32_WINNT < 0x0600)
u_short sa_family;
#else
ADDRESS_FAMILY sa_family; // Address family.
#endif //(_WIN32_WINNT < 0x0600)
CHAR sa_data[14]; // Up to 14 bytes of direct address.
} SOCKADDR, *PSOCKADDR, FAR *LPSOCKADDR;
sockaddr_in结构体:
typedef struct sockaddr_in {
#if(_WIN32_WINNT < 0x0600)
short sin_family; //地址族,AF_xxx只能是AF_INET
#else //(_WIN32_WINNT < 0x0600)
ADDRESS_FAMILY sin_family;
#endif //(_WIN32_WINNT < 0x0600)
USHORT sin_port; // 端口号 (网络字节序)
IN_ADDR sin_addr; //存储IP地址 4字节
CHAR sin_zero[8]; //8个字节兼容struct sockaddr
} SOCKADDR_IN, *PSOCKADDR_IN;