winsock里的getnameinfor可以分析一addrinfo变量,获取网络地址信息,包括ip地址,hostname等;而在传统socket函数中要用inet_ntoa,从addr_in变量获取ip,地址,用gethostbyaddr,从网络字节顺寻的ip地址串获得主机名。

winsock里的这一个函数并不完全等价于传统socket里的两个函数。因为在编写局域网聊天程序NetChat时,用getnameinfor函数在win7中可以成功解析,但在xp中就出wsano_data错误,当换做传统socket函数时,两种操作系统都可以运行。

所以不要过分迷恋一些高封装度的函数