网站建设使用什么软件有哪些,南京网站开发就业培训课程,长沙企业网站推广服务公司,深圳网站建设知了网络继承自 QAbstractSocket 类 QUdpSocket类提供UDP套接字。 UDP(用户数据报协议)是一种轻量级、不可靠、面向数据报、无连接的协议。它可以在可靠性不重要的情况下使用。QUdpSocket是QAbstractSocket的一个子类#xff0c;它允许您发送和接收UDP数据报。 使用这个类最常见的方法…继承自 QAbstractSocket 类 QUdpSocket类提供UDP套接字。 UDP(用户数据报协议)是一种轻量级、不可靠、面向数据报、无连接的协议。它可以在可靠性不重要的情况下使用。QUdpSocket是QAbstractSocket的一个子类它允许您发送和接收UDP数据报。 使用这个类最常见的方法是使用bind()绑定到一个地址和端口然后调用writeDatagram()和readDatagram() / receiveDatagram()来传输数据。如果你想使用标准的QIODevice函数read() readLine() write()等你必须首先通过调用connectToHost()将套接字直接连接到对等体。 套接字每次将数据报写入网络时都会发出bytesWritten()信号。如果您只想发送数据报则不需要调用bind()。 每当数据报到达时就会发出readyRead()信号。在这种情况下hasPendingDatagrams()返回true。调用pendingDatagramSize()来获取第一个挂起数据报的大小并调用readDatagram()或receiveDatagram()来读取它。
注意:当您接收readyRead()信号时应该读取传入的数据报否则将不会为下一个数据报发出该信号。 QUdpSocket还支持UDP组播。使用joinMulticastGroup()和leaveMulticastGroup()来控制组成员使用QAbstractSocket::MulticastTtlOption和QAbstractSocket::MulticastLoopbackOption来设置TTL和loopback套接字选项。使用setMulticastInterface()控制组播数据报的出接口使用multicastInterface()进行查询。
使用QUdpSocket您还可以使用connectToHost()与UDP服务器建立虚拟连接然后使用read()和write()交换数据报而无需指定每个数据报的接收者。
The Broadcast Sender, Broadcast Receiver, Multicast Sender, and Multicast Receiver examples illustrate how to use QUdpSocket in applications. 如果至少有一个数据报等待读取则返回true否则返回false。 返回第一个挂起的UDP数据报的尺寸如果没有可用的数据报则会返回-1。 接收不大于maxSize字节的数据报并将其存储在data中。发送方的主机地址和端口存储在*address和*port中(除非指针为0)。
成功时返回数据报的大小;否则返回-1。
如果maxSize太小则数据报的其余部分将丢失。为了避免数据丢失在尝试读取挂起的数据报之前调用pendingDatagramSize()来确定它的大小。如果maxSize为0则丢弃该数据报。 接收不大于maxSize字节的数据报并在QNetworkDatagram对象中返回它以及发送方的主机地址和端口。如果可能的话该函数还将尝试确定数据报的目的地址、端口和接收时的跳数。
如果失败则返回一个报告无效的QNetworkDatagram。
如果maxSize太小则数据报的其余部分将丢失。如果maxSize为0则丢弃该数据报。如果maxSize为-1(默认值)该函数将尝试读取整个数据报。 发送大小为size的数据报到端口为port的主机地址地址。返回成功时发送的字节数;否则返回-1。
数据报总是作为一个块写入。数据报的最大大小高度依赖于平台但可以低至8192字节。如果数据报太大此函数将返回-1,error()将返回DatagramTooLargeError。
通常不建议发送大于512字节的数据报因为即使它们被成功发送它们也可能在到达最终目的地之前被IP层分片。
警告:在已连接的UDP套接字上调用此函数可能导致错误且不发送数据包。如果您正在使用已连接的套接字请使用write()来发送数据报。 这是一个重载函数。
将数据报发送到数据报中包含的主机地址和端口号使用网络接口和跳数限制也设置在那里。如果未设置目的地址和端口号则该函数将发送到传递给connectToHost()的地址。如果目的地址为IPv6且作用域id非空但与数据报中的接口索引不同则不确定操作系统将选择哪个接口发送。
如果成功该函数返回发送的字节数如果遇到错误则返回-1。
警告:在已连接的UDP套接字上调用此函数可能导致错误且不发送数据包。如果您正在使用已连接的套接字请使用write()来发送数据报。 这是一个重载函数。 发送数据报数据报到主机地址host和端口port。 如果成功该函数返回发送的字节数如果遇到错误则返回-1。