1、由文件描述符打印IP地址及端口。(参考)#include
#include
#include
#include
//由文件描述符打印对应IP地址和端口
void PrintAddrByFd(int sockfd)
{
struct sockaddr_in addr_in;
socklen_t len = sizeof(addr_in);
getsockname(sockfd, (struct sockaddr *)&addr_in, &len);
if (addr_in.sin_family != AF_INET) {
printf("Not an Internet socket.\n");
return;
}
printf("addr:%s, port:%d\n", inet_ntoa(addr_in.sin_addr), ntohs(addr_in.sin_port));
}
2、打印本机所有IP地址。#include
#include
#include
//打印本机所有IP地址
int main (int argc, const char * argv[])
{
struct ifaddrs * ifAddrStruct = NULL;
void * tmpAddrPtr = NULL;
getifaddrs(&ifAddrStruct);
while (ifAddrStruct != NULL)
{
if (ifAddrStruct-&g