getnameinfo:
#include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> int main() { struct sockaddr_in addrSrv; bzero(&addrSrv, sizeof(addrSrv)); addrSrv.sin_family = AF_INET; addrSrv.sin_addr.s_addr = inet_addr("127.0.0.1"); addrSrv.sin_port = htons(6000); char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV]; getnameinfo((struct sockaddr*)&addrSrv, sizeof(addrSrv), hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), NI_NUMERICHOST|NI_NUMERICSERV); printf("hbuf:%s sbuf:%s\n", hbuf, sbuf); return 0; }