gpt4 book ai didi

sockets - 绑定(bind)或 "connect"QUdpSocket 到远程主机和端口?

转载 作者:行者123 更新时间:2023-12-03 12:04:28 24 4
gpt4 key购买 nike

我想将 QUdpSocket “连接”到远程主机端口,但没有这样做。是否可以?

我想实现的场景如下:

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

// 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 是一种无连接协议(protocol)。 A 也设法反之亦然 - 绑定(bind)到本地主机并将数据从另一个主机发送到该主机。但我对这种方式很感兴趣,因为远程主机可能是提供音频流的服务器,我想用我的代码来阅读它。

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

最佳答案

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

关于sockets - 绑定(bind)或 "connect"QUdpSocket 到远程主机和端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35322743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com