本机有多个网卡,每个网卡有一个IP,怎样获取这些IP地址?

fuwenjing 2003-01-14 03:30:00
只需要找出所有的IP就够了,不需要确定哪个IP对应哪个网卡。

使用 gethostbyname 行不行?我怎么知道 gethostbyname 一共返回了几个IP,怎么取到每一个IP?

谢谢。
...全文
249 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuwenjing 2003-01-14
  • 打赏
  • 举报
回复
狂谢狂徒兄,谢谢格格巫。
clouds_wang 2003-01-14
  • 打赏
  • 举报
回复
GetAdapterInfo
Gargamel 2003-01-14
  • 打赏
  • 举报
回复
GetIpAddrTable()
GetIpNetTable()


struct hostent FAR *gethostbyname(
const char FAR *name
);
也可以。 返回值是一个结构体,结构体中有一个IP地址链表
BinaryTreeEx 2003-01-14
  • 打赏
  • 举报
回复
给你一个socket的例子,免得你去看wincap了。记着给分啊!!!
m_structHostent = gethostbyname(&m_pEnumResource[i].lpRemoteName[2]);
m_cListClient.InsertItem(m_dwIndex, &m_pEnumResource[i].lpRemoteName[2]);
TRACE("%s\n",&m_pEnumResource[i].lpRemoteName[2]);
sprintf(m_FullString,"%s",&m_pEnumResource[i].lpRemoteName[2]);
if (m_structHostent != NULL)
{
for(int j = 0; m_structHostent->h_addr_list[j] != NULL; j++)
{
memcpy(&(dest.sin_addr), m_structHostent->h_addr_list[j],m_structHostent->h_length);
m_strTemp = inet_ntoa(dest.sin_addr);
m_cListClient.SetItemText(m_dwIndex,j + 1,m_strTemp);
sprintf(m_FullString,"%s %s",m_FullString,m_strTemp);
}
m_dwIndex = m_dwIndex + 1;
m_cListClient.UpdateWindow();
fprintf(m_hFile,"%s\n",m_FullString);
}
BinaryTreeEx 2003-01-14
  • 打赏
  • 举报
回复
我用wincap就实现了,获取了一个server上的4个ip地址。
如果希望知道请给我留言
ksyou 2003-01-14
  • 打赏
  • 举报
回复
xuexi

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧