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

2019-03-26 12:27发布

我买了一本《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地址的时候协议族弄错啦,可是又不确定。
请高手指点,多谢!
此帖出自Linux与安卓论坛
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
spacexplorer
1楼-- · 2019-03-26 21:27
最好是打印出错误码来判断问题出在哪里?
chenbingjy
2楼-- · 2019-03-26 23:50
spacexplorer 发表于 2016-9-22 10:55
最好是打印出错误码来判断问题出在哪里?

谢谢你,搞好啦,要使用root权限。

一周热门 更多>