qudp socket信号不触发_QUdpSocket初次见面多多关照

本文介绍了如何在Qt中使用QUdpSocket进行UDP通信,包括绑定端口、发送和接收数据的步骤,并通过一个简单的服务端和客户端示例展示了其工作原理。在实际应用中,由于UDP的不可靠性,需要额外处理确保数据传输的可靠性。
摘要由CSDN通过智能技术生成

QUdpSocket是Qt对UDP的封装。UDP是无连接的,发送数据前不需要建立连接,因此可靠性就没那么好了。不过UDP带来的好处就是效率高、占用资源少,还能实现一对多,多对多等交互方式。

QUdpSocket通信的步骤如下:

1.创建一个QUdpSocket对象,该对象绑定一个地址和端口(bind)。

2.创建另一个QUdpSocket对象,使用writeDatagram(需要填入目标host和端口)发送数据。

3.QUdpSocket收到数据时触发读取数据的信号,使用readDatagram读取数据。

举个例子:

1.首先用Qt界面设计师拖一界面如下:

ff7202ea098a74bea6a223a3232e59fb.png

上面一个QTextEdit作为显示服务端接收到的数据,下面一个QTextEdit用于输入要发送的数据,还有一个发送按钮。

2.写一个服务端类继承于QObject,该类只有一个QUdpSocket指针类型的成员变量m_pSocket。在类的构造函数中创建m_pSocket对象,然后执行bind操作,最后连接m_pSocket对象的readyRead信号。

UdpServer::UdpServer(QObject *parent) : QObject(parent){m_pSocket = new QUdpSocket; m_pSocket->bind(QHostAddress::Any,3333); //绑定3333端口 connect(m_pSocket,SIGNAL(readyRe

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值