仅供参考
in_addr 和SockAddr_in区别
in_addr internet_Address 网络地址使用一个unsigned long (long 最大值为127 ulong255)表示
192.168.3.1 可以表示为 C0 A8 03 01 0xC0A80301
sockaddr_in
struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr; // 当需要赋值时,可以通过 gethostname和gethostbyname获取
char sin_zero[8];
};
获取本地机IP
HOSTENT *hostent;
char strName[256];
gethostname(strName,strlen(strName));
hostent = gethostbyname(strName);
printf("hostname:%s",hostent->h_name);
char *ip = inet_ntoa(*(struct in_addr*)hostent->h_addr_list[0]);
需要包括头文件WinSock2.h(WinSock2.h为版本2)
#pragma comment (lib "ws2_32")//Winsock2的32位的库
一般的动态库程序有lib文件和dll文件 : lib是编译时需要的,dll是运行时需要的