手动修改ARM Linux的静态IP和用QT获取和修改IP
、vi /etc/network/interfaces
# 找到“# Wired or wireless interfaces”
、注释掉 iface eth0 inet dhcp 这是自动获取ip地址
、增加下面语句:
iface eth0 inet static
address 192.168.1.79
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
、保存
、/etc/init.d/networking restart
如何用QT获取和修改IP【转载】
http://blog.csdn.net/a15868717540/article/details/7165287
这是第一种方式
//读取部分
QSettings *ConfigIni = new QSettings("/etc/eth0-setting",QSettings::IniFormat,);
ui->ipInfoLineEdit->setText(ConfigIni->value("IP").toString());//IP地址
ui->maskInfoLineEdit->setText(ConfigIni->value("Mask").toString()); //子网掩码
ui->gatewayInfoLineEdit->setText(ConfigIni->value("Gateway").toString());//子网掩码
ui->dnsInfoLineEdit->setText(ConfigIni->value("DNS").toString());//DNS
ui->macInfoLineEdit->setText(ConfigIni->value("MAC").toString());//mac
//修改部分
void ipset::ipconfig_set_infile()
{
//删除原有配置文件
QDir rmfile;
rmfile.remove("/etc/eth0-setting");//WINDOWS下就可以不用这两句
QSettings *ipConfigIni = new QSettings("/etc/eth0-setting",QSettings::IniFormat,);
ipConfigIni->setIniCodec("UTF-8"); //设置文件格式为UTF-8
ipConfigIni->setValue("IP",ui->ipInfoLineEdit->text());//写入配置文件中Ip配置参数
ipConfigIni->setValue("Mask",ui->maskInfoLineEdit->text());//写入配置文件中Mask配置参数
ipConfigIni->setValue("Gateway",ui->gatewayInfoLineEdit->text());//写入配置文件中Gateway配置参数
ipConfigIni->setValue("DNS",ui->dnsInfoLineEdit->text());
ipConfigIni->setValue("MAC",ui->macInfoLineEdit->text());
}
函数时用Qt下的QSttings。相关内容大家自己看
需要注意的是在linux下,覆盖不了原文件,需要调用QDir::remove函数,先删除再生成。
WINDOWS下就直接覆盖的。
第二种方法是采用QT自带的函数QList<QNetworkInterface
用这个类可以获取系统底层的网络参数,经过实践是可行的,我参考的文章:http://qt.csdn.net/articles.aspx?pointid=489&pointid2=7
/*QList<QNetworkInterface> list = QNetworkInterface::allInterfaces();
//获取所有网络接口的列表
foreach(QNetworkInterface interface,list)
{ //遍历每一个网络接口
if(interface.name()=="eth0")//我的端口是eth0,你的需要根据自己的来判断
{
qDebug() << "Device: "<<interface.name();
//设备名
qDebug() << "HardwareAddress: "<<interface.hardwareAddress();
//硬件地址
QList<QNetworkAddressEntry> entryList = interface.addressEntries();
//获取IP地址条目列表,每个条目中包含一个IP地址,一个子网掩码和一个广播地址
foreach(QNetworkAddressEntry entry,entryList)
{//遍历每一个IP地址条目
if( entry.ip().toString().size() < 16)//区分IPV6和IPV4
{
qDebug()<<"IP Address: "<<entry.ip().toString();
//IP地址
qDebug()<<"Netmask: " <<entry.netmask().toString();
//子网掩码
qDebug()<<"Broadcast: "<<entry.broadcast().toString();
//广播地址
ui->ipInfoLineEdit->setText(entry.ip().toString());
ui->maskInfoLineEdit->setText(entry.netmask().toString());
ui->gatewayInfoLineEdit->setText(entry.broadcast().toString());*/
上面这段是参考网上的代码写的,根据网卡数量需要,自己写下判断就行了。
主要是在红色字体这些地方。自己根据需求来
这个是我的第一次总结。呵呵,支持下
手动修改ARM Linux的静态IP和用QT获取和修改IP的更多相关文章
- Qt获取本机IP地址
Qt获取本机IP地址: Qt版本:4.8.6 #include <QtNetwork/QNetworkInterface.h> QString ipAddr; QList<QHost ...
- qt获取本机ip
//获取本机IP QString getIP(QString localHost) { QString ipAddr; #if 0 QList<QHostAddress> AddressL ...
- Qt 获取本机ip地址 【转自 CSDN jpchen609
QString str; QHostInfo info=QHostInfo::fromName(QHostInfo::localHostName()); //定义一个HostInfo的对象然后对这个对 ...
- QT获取本机IP和Mac地址
#include <QNetworkInterface> #include <QList> void MainWindow::getIPPath() { QString str ...
- Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip
获取本地 ip 地址,mac,通过域名获取对应的 ip, 是网络编程可能遇到的比较常见的操作了,所以总结如下(封装了3个函数), 直接上代码: #include <stdio.h> #in ...
- linux获取外网ip
引言:目前获取ip的方法中,ifconfig和ip获取函数得到的都是内网ip.有时候需要获取外网ip,目前通用的做法,是向外部服务器发送请求,解析外部服务器响应,从而得到的自己的外网ip.linux下 ...
- 获取本机IP和主机名
如果是在windows环境: 使用InetAddress.getLocalHost()方法即可 package com.datongsoft.wg.common.util; import java.n ...
- 7个获取访问者真实IP的方法,速学!!!
通常情况下,网站访问并不是简单地从用户的浏览器直达服务器,中间可能部署有CDN.WAF.高防.例如,采用这样的架构:“用户 > CDN/WAF/高防 > 源站服务器” .那么,在经过多层代 ...
- JAVA获取计算机的IP、名称、操作系统等信息
[java] view plaincopyprint? import java.io.BufferedReader; import java.io.InputStream; import java.i ...
随机推荐
- javascript 数组,数组中加入新元素 push() ,unshift() 相当于Add()
<1> var a = []; //建立数组 push 方法 将新元素加入到一个数组中,并返回数组的新长度值.
- window.open()方法(弹出层)
1, 最主要的弹出窗体代码 window.open('page.html'); 2, 经过设置后的弹出窗体 window.open('page.html', 'newwindow', 'h ...
- SQL语句改动表名和字段名
今天有个暂时任务,改动生产环境的数据库表名和字段名.曾经要改动表名字段名都是在开发环境.直接打开 SQL Server找到相应的表或字段重命名就OK啦,但是这是线上数据库,再想直接F2改动是不可能的啦 ...
- oc34--instancetype和id的区别
// Person.h #import <Foundation/Foundation.h> @interface Person : NSObject @property int age; ...
- DCloud-MUI:代码块
ylbtech-DCloud-MUI:代码块 1.返回顶部 1. 怎么用? html 此底色代表最小触发字符 此底色代表非必要完整触发字符 *需HBuilder7.1+,或者下载m ...
- CentOS7 内核参数优化
# allow testing with buffers up to 128MBnet.core.rmem_max = 134217728net.core.wmem_max = 134217728# ...
- python mysql数据库 'latin-1' codec can't encode character错误问题解决
"UnicodeEncodeError:'latin-1' codec can't encode character ..." This is because MySQLd ...
- js form settimeout
<html><head><meta charset="utf8"><script type="text/javascript&q ...
- springboot配置过滤器和拦截器
import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.Http ...
- 网易UI自动化测试工具Airtest中导入air文件中的方法
最近看了一下网易的Airtest ,UI测试工具,写了一些后在导入其他air文件中的.py文件,卡了一下,现在博客中纪录一下导入其他air文件的方式: 在Airtest 测试工具中,导入其他air文件 ...