在Linux下获取IP地址,用Shell可以实现,用代码当然也可以,我今天要探讨的便是在C语言中获取本机IP地址。
经过我的验证,网络上很常见的实用 gethostname(), gethostbyname() 以及 uname()的方法并行不通,这点在uname的man page上也可见一斑。
这里我们实用的方法是首先获取socket,然后通过调用ioctl获取其IP地址的方法。
主要的代码块和头文件如下所示。
关于struct ifreq,请参考
http://linux.about.com/library/cmd/blcmdl7_netdevice.htm
发表于 @ 2007年08月30日 19:28:00|评论(loading...)|编辑