
离线
你是要程序获取IP地址?
是的 就是DHCP分配了地址了  我程序要怎样知道这个分配IP  
我现在就是用 ip addr show | grep \"scope global wlan0\"去读取出来放到文件中  再去解析文件  我觉得太麻烦了
离线
是的 就是DHCP分配了地址了 我程序要怎样知道这个分配IP
我现在就是用 ip addr show | grep \"scope global wlan0\"去读取出来放到文件中 再去解析文件 我觉得太麻烦了
https://stackoverflow.com/questions/2283494/get-ip-address-of-an-interface-on-linux
#include <stdio.h>
#include <unistd.h>
#include <string.h> /* for strncpy */
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>
#include <arpa/inet.h>
int
main()
{
 int fd;
 struct ifreq ifr;
 fd = socket(AF_INET, SOCK_DGRAM, 0);
 /* I want to get an IPv4 IP address */
 ifr.ifr_addr.sa_family = AF_INET;
 /* I want IP address attached to "eth0" */
 strncpy(ifr.ifr_name, "eth0", IFNAMSIZ-1);
 ioctl(fd, SIOCGIFADDR, &ifr);
 close(fd);
 /* display result */
 printf("%s\n", inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));
 return 0;
}把这个 eth0 改成 wlan0 试一试。
离线
完成了 我用的是这个
QString WifiList::GetCurrwlan0IpAddr(QString str)
{
    QString filename = "/V3S/wifi_file/Wifi_Addr";
    QFile file(filename);
    if(!file.open(QIODevice::ReadOnly))
    {
        qDebug()<<"!file.open(FileName) error";
        return NULL;
    }
    QTextStream stream(&file);
    QString ReadLineStr = stream.readLine();
    if(ReadLineStr == NULL)
    {
        return NULL;
    }
    QStringList str3=  ReadLineStr.split("/",QString::SkipEmptyParts);
    QStringList str=  str3[0].split("/",QString::SkipEmptyParts);
    QStringList str1 = str[0].split(" ",QString::SkipEmptyParts);
    return str1[1];*/
    QString str1;
    QList<QNetworkAddressEntry> list;
    QHostAddress                addr1;
    QNetworkInterface addr = QNetworkInterface::interfaceFromName(str);
    list = addr.addressEntries();
    if(!list.isEmpty())
    {
            addr1 = list.at(0).ip();
            str1 = addr1.toString();
            CurrConnectWifiIP = str1;
            //IPAddres = CurrConnectWifiIP;
    }
    qDebug()<<str1;
    return str1;
}但是有一个问题就是 如何设置有线网络逇优先级是最高啊 用route是设置不管用
离线
# ifconfig wlan0 up
ifconfig: SIOCSIFFLAGS: Operation not permitted
不知道怎么突然就wlan0 就不行了 ,也加载了库
离线
# insmod /usr/lib/r8723bs.ko
[  952.243349] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[  952.260150] RTL8723BS: module init start
[  952.264092] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
[  952.271227] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
[  952.290744] pnetdev = c1317800
[  954.610905] RTL8723BS: rtw_ndev_init(wlan0)
[  954.715967] RTL8723BS: module init ret =0
加载库出现这样的 没有问题
离线
没用 wpa_supplicant 连接路由器吧?
用了 
insmod /usr/lib/r8723bs.ko
ifconfig wlan0 up  //这里就出错了  就是那个不允许操作
离线