将 QUdpSocket 绑定或"连接"到远程主机和端口?



我想将QUdpSocket"连接"到远程主机端口,但失败了。可能吗?

我想实现的方案如下:

1( 服务器绑定到本地主机/端口:

// On server side, let server IP be "192.168.0.235"
serverUdpSocket->connectToHost(QHostAddress(QHostAddress::LocalHost), 44444);
... // check if connection is ok, etc
serverUdpSocket->write(someByteArray);

2(客户端从服务器读取数据,我试过:

// bind fails with SocketAddressNotAvailableError
udpSocket->bind(QHostAddress("192.168.0.235"), 44444);

这样:

udpSocket->connectToHost(QHostAddress("192.168.0.235"), 44444, QIODevice::ReadOnly);
// State becomes "Connected", but I don't get any data and `readyRead()`
// is never emitted, though I connected to it.

但它不起作用。

我知道UDP是一种无连接协议。反之亦然 - 绑定到本地主机并从另一个主机将数据发送到该主机。但我对这种方式很感兴趣,因为远程主机可能是提供音频流的服务器,我想用我的代码阅读。

在示例和教程中,我只看到绑定到本地端口并从中读取数据。未提供绑定到远程主机端口的示例。

bind()

套接字绑定到本地地址。 connect()套接字连接到远程地址。通常服务器绑定和客户端连接。

相关内容

  • 没有找到相关文章

最新更新