siv*_*udh 6 qt network-programming
我使用Qt进行TCP通信.如果我的PC有2个网络接口(比如eth0,eth1),并说我想明确使用eth1,我该如何在Qt中做到这一点?
QTcpServer :: listen将您要侦听的接口的地址作为第一个参数.
如果你在eth0上有IP地址192.168.0.1,在eth1上有10.0.0.0.1那么
QTcpServer serv0;
QTcpServer serv1;
serv0.listen( QHostAddress("192.168.0.1"), 8080 );
serv1.listen( QHostAddress("10.0.0.0.1"), 8080 );
Run Code Online (Sandbox Code Playgroud)
serv0将仅监听eth0上的端口8080,而serv1将仅侦听eth1上的端口8080.
没有办法指定QTcpSocket应该使用哪个接口,因为它是由操作系统根据内核路由表决定的.
您可以使用QNetworkInterface :: allAddresses()来获取可用的接口地址列表.
| 归档时间: |
|
| 查看次数: |
4851 次 |
| 最近记录: |