qt中写一段代码实现客户端中两个socket对象通过同一个端口号连接两个ip地址
时间: 2023-09-28 22:11:59 浏览: 98
Qt实现socket服务端和客户端
5星 · 资源好评率100%
可以参考以下代码:
```cpp
// 创建两个QTcpSocket对象
QTcpSocket *socket1 = new QTcpSocket(this);
QTcpSocket *socket2 = new QTcpSocket(this);
// 绑定端口号
if (socket1->bind(QHostAddress::Any, 8888)) {
qDebug() << "socket1 bound";
}
// 连接第一个IP地址
socket1->connectToHost(QHostAddress("192.168.0.1"), 8888);
// 等待连接成功
if (socket1->waitForConnected()) {
qDebug() << "socket1 connected";
}
// 连接第二个IP地址
socket2->connectToHost(QHostAddress("192.168.0.2"), 8888);
// 等待连接成功
if (socket2->waitForConnected()) {
qDebug() << "socket2 connected";
}
```
以上代码中,我们创建了两个 `QTcpSocket` 对象 `socket1` 和 `socket2`,先通过 `bind` 方法绑定了端口号,然后分别连接了两个 IP 地址。需要注意的是,如果两个 `QTcpSocket` 对象要通过同一个端口号连接两个不同的 IP 地址,那么必须先通过 `bind` 方法绑定端口号,否则第一个连接会失败。
阅读全文