Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何知道QUdpSocket中的发送端口号?_C++_Qt_Networking_Qudpsocket - Fatal编程技术网

C++ 如何知道QUdpSocket中的发送端口号?

C++ 如何知道QUdpSocket中的发送端口号?,c++,qt,networking,qudpsocket,C++,Qt,Networking,Qudpsocket,有没有办法获取udp套接字用于发送消息的端口号 我想做的是向某人发送udp数据报,并监听发送端口 例如,在以下代码中: QUdpSocket *s = new QUdpSocket(this); s.writeDataGram(theData,theIp,thePort); 它是否自动将套接字与发送端口绑定 如果是这样,我可以监听发送端口吗?在发送数据之前,可以安全地将套接字绑定到端口、地址并指定地址 套接字绑定到端口和地址后,在指定端口的UDP数据报到达时发出 因此,您可以捕获readyRe

有没有办法获取udp套接字用于发送消息的端口号

我想做的是向某人发送udp数据报,并监听发送端口

例如,在以下代码中:

QUdpSocket *s = new QUdpSocket(this);
s.writeDataGram(theData,theIp,thePort);
它是否自动将套接字与发送端口绑定


如果是这样,我可以监听发送端口吗?

在发送数据之前,可以安全地将套接字绑定到端口、地址并指定地址

套接字绑定到端口和地址后,在指定端口的
UDP数据报到达时发出

因此,您可以捕获
readyRead()
信号并相应地处理数据,即不需要监听端口。 如果未将套接字
s
绑定到端口
the port
,UDP数据报到达时将不会发出
readyRead()
信号。
readDatagram

qint64 QUdpSocket::readDatagram ( char * data, qint64 maxSize, QHostAddress * address = 0, quint16 * port = 0 ) Receives a datagram no larger than maxSize bytes and stores it in data. The sender's host address and port is stored in *address and *port (unless the pointers are 0). qint64 QUdpSocket::readDatagram(字符*数据,qint64 maxSize,QHostAddress*地址=0,quint16*端口=0) 接收不大于maxSize字节的数据报并将其存储在数据中。 发送方的主机地址和端口存储在*地址和*端口中 (除非指针为0)。
要接收数据报,必须首先将套接字绑定到特定的UDP端口。然后,要获取接收到的数据报的源端口,您需要为
readDatagram

port
参数提供一个非零参数,除非您已经绑定了套接字,否则绑定在发送或接收时会自动发生。因此,你的回答没有真正意义。希望我至少回答了倾听部分。