找回密码
 立即注册

QT udp通信,服务端怎么获取客户端的端口号?

累计签到:31 天
连续签到:1 天
发表于 2018-11-6 10:50:00 | 显示全部楼层 |阅读模式
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软件)

现在我服务端需要返回信息给客户端,在不知道客户端端口的情况下怎么发信息给客户端?或者说有什么函数可以获取客户端的端口号?

不要说绑定端口的解决方式,我想问的是如何在不绑定客户端端口的情况下,回复消息给客户端

回复

使用道具 举报

累计签到:362 天
连续签到:2 天
发表于 6 天前 | 显示全部楼层
UDP 协议,无连接协议,无法知道是谁给你发送了消息,你想回复消息基本上是做不到的;客户端要接收回复的消息,必定需要监听一个端口,因为没有外部已知的连接;根据你的描述,在你的报文中附带自己的IP 和 监听端口(发送端口是什么无所谓),Qt 服务端在接收到报文后,解析 目标地址和端口,同样用 UDP 发过去就好了,
回复

使用道具 举报

累计签到:31 天
连续签到:1 天
 楼主| 发表于 6 天前 | 显示全部楼层
其实我想问的就是用什么代码可以获取客户端发送信息过来使用的IP地址和端口号
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

huoyl

    主题

    帖子

    45

    积分

    Qter1级会员

    Rank: 1

    积分
    45

Qter1级会员

发私信

Qt开源社区——开源 共享 自由

微信扫一扫
查看精品教程!