服务器计算机有多个IP,其中一个IP与本地LAN连接 其他与WAN(Internet)连接。
服务器应用程序需要绑定IP和端口,以便它可以侦听客户端。 我能够在服务器机器上获得All Ip但面临发现问题 活跃的IP即IP连接的互联网。
以下代码将提供系统中的所有IP。
char chHostName[MAX_PATH];
if ( gethostname(chHostName, sizeof(chHostName)) == SOCKET_ERROR)
{
return ;
}
struct hostent *phe = gethostbyname(chHostName);
if (phe == 0)
{
return ;
}
//struct in_addr addrLocalIP;
for (int i = 0; phe->h_addr_list[i] != 0; ++i)
{
memcpy(&m_addrLocal.sin_addr.S_un, phe->h_addr_list[i], sizeof(struct in_addr));
}
1。有没有办法找到系统中许多IP之间与互联网连接的IP。
的 2。通过上述程序获取的最后一个IP是否始终是与Internet连接的IP?
答案 0 :(得分:0)
答案 1 :(得分:0)
套接字不知道它们的用途。您的应用程序必须从配置文件或类似文件中获取Internet NIC的IP地址。