第一个参数是连接的数据流套接口文件描述符。第二个参数是指向包含另一端的信息的数据结构sockaddr的指针。第三个参数可以设置为sizeof(structsockaddr)。
这个系统的调用十分简单。它将告诉你是谁在连接的另一端: #include int getpeername(int sockfd,struct sockaddr* addr,int* addrlen); 第一个参数是连接的数据流套接口文件描述符。 第二个参数是指向包含另一端的信息的数据结构sockaddr的指针。 第三个参数可以设置为sizeof(structsockaddr)。 如果出错,系统调用将返回-1。 一旦你获得了它们的地址,你可以使用inet_ntoa()或者gethostbyaddr()来得到更多的信息。
[目录]
gethostname()
系统调用gethostname()比系统调用getpeername()还简单。它返回程序正在运行的计算机的名字。系统调用gethostbyname()可以使用这个名字来决定你的机器的IP地址。 下面是一个例子: #include int gethostname(char*hostname,size_tsize); 如果成功,gethostname将返回0。如果失败,它将返回-1。
|