一、在windows进行socket编程
注意:必须添加#pragma comment(lib,"ws2_32.lib"),该库。
或者(vs 2010)在:项目>属性->配置属性->链接器->输入 ws2_32.lib:附加依赖项 中加入要链接的库即可。
ws2_32.lib库对应ws2_32.dll,提供了网络相关API的支持,若使用其中的API,则应该将ws2_32.lib加入工程(否则需要动态载入ws2_32.dll)
ws2_32.dll是Windows Sockets应用程序接口, 用于支持Internet和网络应用程序。程序运行时会自动调用ws2_32.dll文件,ws2_32.dll是个动态链接库文件位于系统文件夹中。Windows在查找动态链接库文件时会先在应用程序当前目录搜索,如果没有找到然后才会搜索Windows所在目录;如果还是没有会搜索system32和system目录。
(1) hostent是host entry的缩写,该结构记录主机的信息,包括主机名、别名、地址类型、地址长度和地址列表。之所以主机的地址是一个列表的形式,原因是当一个主机有多个网络接口时,自然有多个地址。
struct hostent
h_name – 地址的正式名称。
h_aliases – 空字节-地址的预备名称的指针。
h_addrtype –地址类型; 通常是AF_INET。AF_INET地址族,PF_INET协议族都为2
h_length – 地址的比特长度。
h_addr_list – 零字节-主机网络地址指针。网络字节顺序。
h_addr - h_addr_list中的第一地址。