我的计算机有2个wlan接口:一个集成(“ Wi-Fi”)和一个外部适配器(“ Wi-Fi 2”)。如何使我的Qt应用程序通过第二个接口建立与给定访问点(AP)的连接?
我想确保第一个接口始终用于连接到Internet(我的ISP路由器),而第二个接口用于连接到第三方设备(本身是Wi-Fi AP)
以下代码连接到AP(SSID = DeviceRouter)。但是我不知道如何强制使用辅助接口(Wi-Fi 2)。
// My target SSID and interface (let's assume this is an open AP)
QString ssid = "DeviceRouter";
QString interface = "Wi-Fi 2"; // I want to use my secondary interface
// Get all configurations
QNetworkConfigurationManager mgr;
mgr.updateConfigurations();
waitForSignal( &mgr, SIGNAL( updateCompleted() ), 20000 ); // implemented elsewhere
QList<QNetworkConfiguration> allConfigs = mgr.allConfigurations();
// Select the configuration matching my target SSID
bool connected = false;
foreach( QNetworkConfiguration config, allConfigs ) {
if( config.name() == ssid && config.bearerType == QNetworkConfiguration::BearerWLAN ) {
QNetworkSession s( config );
// How can I set the interface for the session?
s.open();
connected = w.waitForOpened( 30000 );
if( connected ) {
qDebug() << "You're connected on interface: " << s.interface().humanReadableName();
}
break;
}
}
因此,输出始终为You're connected on interface: Wi-Fi 2
。