qt中写一段代码两个socket对象通过同一个端口号连接两个ip地址
时间: 2023-12-08 18:04:00 浏览: 54
可以参考以下代码:
```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` 方法绑定端口号,否则第二个连接会失败。
阅读全文