[求助] ioctl()函数的网络接口请求的问题

chenbingjy   2016-9-21 17:20 楼主
我买了一本《Linux网络编程》,看到第12章,12.6节ioctl()函数。
第4部分12.6.4ioctl()函数的网络接口请求。
书中举了个例子,对网络接口的获取和配置。
程序分四部分进行网络接口请求命令的测试:第一部分是通过一个序列号获得网络接口
的名称;第二部分获取网络接口的常用配置参数;第三部分获取IP地址;第四部分修改
一下本机的IP地址。
代码如下:
1.jpg 2.jpg 3.jpg 4.jpg
这个程序在Linux操作系统下可以正常工作。
可是在虚拟机上不行,第四部分修改IP地址有问题。
运行结果如下:
5.jpg
提示"SIOCSIFADDR error"。其中,程序里面我修改了一个地方,原程序里是eth0,
可是我的虚拟机里是eth3,所以我把原程序里eth0全改为eth3.
我的虚拟机的网络参数如下:
6.jpg
请问高手,哪里出了问题呢?谢谢
我怀疑是不是设置网络IP地址的时候协议族弄错啦,可是又不确定。
请高手指点,多谢!
为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复评论 (2)

最好是打印出错误码来判断问题出在哪里?
My dreams will go on... http://www.jyxtec.com
点赞  2016-9-22 10:55
引用: spacexplorer 发表于 2016-9-22 10:55
最好是打印出错误码来判断问题出在哪里?

谢谢你,搞好啦,要使用root权限。
为江山踏坏了乌骓马,为社稷拉断了宝雕弓。
点赞  2016-9-22 11:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复