获取本地主机名:
int gethostname( char FAR* name, int namelen);
根据socket文件描述符,获取(本地/远程)地址信息结构体
int getsockname( SOCKET s, struct sockaddr FAR* name, int FAR* namelen);
获取远程地址。(传入的参数s必须是accept返回的文件描述符。)
int getpeername( SOCKET s, struct sockaddr FAR* name, int FAR* namelen);
处理主机名到地址以及服务到端口这两种转换
int getaddrinfo(const char *node, const char *service,const struct addrinfo *hints,struct addrinfo **res);
void freeaddrinfo(struct addrinfo *res);
把套接口地址结构转换成主机名和服务名
int getnameinfo(const struct sockaddr *sa, socklen_t salen,char *host, size_t hostlen,
char *serv, size_t servlen, int flags);