qt中写一段代码两个socket对象通过同一个端口号连接两个ip地址
时间: 2023-12-08 13:04:00 浏览: 19
可以参考以下代码:
```cpp
// 创建两个QTcpSocket对象
QTcpSocket *socket1 = new QTcpSocket(this);
QTcpSocket *socket2 = new QTcpSocket(this);
// 连接第一个IP地址
socket1->connectToHost(QHostAddress("192.168.0.1"), 8888);
// 等待连接成功
if (socket1->waitForConnected()) {
qDebug() << "socket1 connected";
}
// 绑定端口号
if (socket2->bind(QHostAddress::Any, 8888)) {
qDebug() << "socket2 bound";
}
// 连接第二个IP地址
socket2->connectToHost(QHostAddress("192.168.0.2"), 8888);
// 等待连接成功
if (socket2->waitForConnected()) {
qDebug() << "socket2 connected";
}
```
以上代码中,我们创建了两个 `QTcpSocket` 对象 `socket1` 和 `socket2`,先连接了第一个 IP 地址,然后通过 `bind` 方法绑定了端口号,最后连接了第二个 IP 地址。需要注意的是,如果两个 `QTcpSocket` 对象要通过同一个端口号连接两个不同的 IP 地址,那么必须先通过 `bind` 方法绑定端口号,否则第二个连接会失败。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)