|
试着socket编程,想获得主机的资料吧
程序清单如下:
int main()
{
struct hostent *hpr;
struct utsname myname;
if(uname(&myname)<0)
~~~~~~~~~~~~~获得主机的名字
{
printf("get mac info failed \n\a");
return -1;
}
printf("sysname: %s\nnodename: %s\nrelease: %s\nversion: %s\nmachine: %s\n",myname.sysname,myname.nodename,myname.release,myname.version,myname.machine);
if((hpr=gethostbyname(myname.nodename))!=NULL)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~主机名字转换
printf("h_name: %s\nh_aliases: %s\nh_addrtype: %d\nh_addr_list: %s\n",hpr->h_name,hpr->h_aliases[0],hpr->h_addrtype,inet_ntoa(hpr->h_addr_list[0]));
~~~~~~~~~~~~~~~~~~~~~~~~
将网络名转换成 ascii ip形式?
return 1;
}
但是得到的ip和我的机子的ip不一样,为什么呢?
请高手为我指点迷津,谢谢 |
|