森林笔记:Qt网络编程篇(二)Udp

UDP(User Datagram Protocol 用户数据报协议),是一个轻量级的、不可靠的
面向数据绑定、无连接的协议,用于可靠性不是非常重要的情况。

  1. QUdpSocket 支持IPV4的广播,广播一般用来实现发现协议。

  2. 要广播一个数据报,则只需要发送它到一个特殊的地址QHostAddress::Broadcast(即255.255.255.255)
    或者是本地网络的广播地址。

  3. Udp客户端向UDP服务器发送一定长度的请求报文,报文大小的限制与各系统的协议实现有关
    ,但不得超过其下层IP协议规定的64KB;UDP服务器同样以报文形式做出响应。
    如果服务器未收到请求,客户端不会重发的,因此报文的传输是不可靠的。

例如,常用的QQ聊天软件就是使用UDP协议发送消息,所以会出现接收不断信息。

  1. UDP方式下客户端不与服务器建立连接,他只负责调用发送函数向服务器发出数据报;
    服务器也不从客户端接收连接,只负责调用接收函数,等待来自客户端的数据到达。

  2. demo

1】API:
  //如果至少有一个数据报等待读取,则返回true
    bool hasPendingDatagrams() ;
    
    //返回第一个挂起的UDP数据报的大小 
    qint64 pendingDatagramSize() 
    
    //接收不大于maxsize字节的数据报并将其存储在data中 ,发送方的主机地址和端口存储在address和*port中
    qint64 readDatagram(char *data, qint64 maxSize, QHostAddress *address = nullptr, quint16 *port = nullptr)
    
    //将数据报datagram发送到主机地址主机和端口
    qint64 writeDatagram(const QByteArray &datagram, const QHostAddress &host, quint16 port)2//设置皮肤样式表
    {
   
	    QFile *qssFile =new QFile(":/pic/pifu.qss");
	    qssFile->open(QFile::ReadOnly);
	    qApp->setStyleSheet(QString::fromLatin1(qssFile->readAll()));
	    qssFile->close();
	    UdpSend w;   
	}3】设置背景图
 	//this->setWindowTitle("发送端");
    QPixmap pixmap = QPixmap(":/pic/frist1.jpg").scaled</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值