|
5Qter豆
我把QT作为一个服务端,当客户端连接并发送数据时使用connect(uSocket2, SIGNAL(readyRead()), this, SLOT(Udp_receive_server()));接收信息
因为发送数据需要ip和端口
uSocket2->writeDatagram(tr("ui->textEdit->toPlainText()").toUtf8(),QHostAddress("192.168.1.117"),5999);
但我没有设定客户端的端口号,所以客户端发信息时端口号是随机的(其他udp软件)
现在我服务端需要返回信息给客户端,在不知道客户端端口的情况下怎么发信息给客户端?或者说有什么函数可以获取客户端的端口号?
不要说绑定端口的解决方式,我想问的是如何在不绑定客户端端口的情况下,回复消息给客户端
|
最佳答案
查看完整内容
UDP 协议,无连接协议,无法知道是谁给你发送了消息,你想回复消息基本上是做不到的;客户端要接收回复的消息,必定需要监听一个端口,因为没有外部已知的连接;根据你的描述,在你的报文中附带自己的IP 和 监听端口(发送端口是什么无所谓),Qt 服务端在接收到报文后,解析 目标地址和端口,同样用 UDP 发过去就好了, ...
|