/**
* 函数:GetLocalIP
* 描述:获取本机所有iP地址
* 参数:rvecIP 存储IP的vector
* 返回:true 获取成功
* false 获取失败
*/
bool GetLocalIP(vector<string> &rvecIP)
{
char host_name[255];
// 获取本地主机名称
if (gethostname(host_name, sizeof(host_name)) == SOCKET_ERROR)
return false;
// 从主机名数据库中得到对应的“主机”
struct hostent *phe = gethostbyname(host_name);
if (phe == 0)
return false;
// 循环得出本地机器所有IP地址
for (int i = 0; phe->h_addr_list[i] != 0; ++i)
{
struct in_addr addr;
memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
rvecIP.push_back(inet_ntoa(addr));
}
return true;
}