QTcp相关的类解析

1 QTcpServer Class

QTcpServer类提供了及基于TCP的服务
需要在qmake中 += network
继承于QObject
其派生类为QSctpServer

1.2 Detailed Description

QTcpServer类提供了基于TCP的服务
此类允许接收TCP的连接,你可以指定port口,或者有QTcpServer来自动挑选一个,你可以监听指定的或者机器上左右的地址。
通过调用listen()函数来获得所有输入的连接的家庭,信号newConnection()在连接到新服务器的时候会发射。
调用nextPendingConnection()函数来接收作为连接到QTcpSocket的挂起的连接,此函数返回一个在QAbstractSocket::ConnectedState的QTCPSocket的指针,你可以使用它来和客户端进行通信。
如果发生了故障,函数serverError()可以返回故障的类型,函数errorString()可以获得一个可读的问题的描述信息。
当监听连接的时候,服务器所监听的地址和port口作为serverAddress()和serverPort()。
调用函数close()来让QTCPServer停止监听进入的连接。
尽管QTcpServer通常用在事件循环中,不用也是可以的,这种情况下,你必须使用waitForNewConnection(),直到一个连接是有效的或者超时情况发生的时候都将会阻塞。

2 QTcpSocket Class

QTcpSocket类提供了一个TCP套接字
qmake需要添加 += network
继承于QAbstractSocket

2.1 Detailed Description

QTcpSocket类提供了一个TCP套接字
TCP(Transmission Control Protocol)是一个可信的,流式的传输协议,它尤其适用于传输连续的数据
QTcpSocket是QAbstractSocket的便利子类,允许你创立一个TCP的连接,然后传输流式的数据,详细的请看QAbstractSocket介绍的文档。

3 QUdpSocket Class

QUdpSocket 类提供了一个UDP套接字
qmake中需要添加 += network
继承于QAbstractSocket

3.1 Detailed Description

QUdpSocket提供了一个UDP套接字
UDP(User Datagram Protocol)是一个轻量级,不可靠,数据电报导向的,非连接式的协议,它可以用在数据的可靠性不是那么重要的环境中,QUdpSocket是一个QAbstractSocket的子类,允许接收和发动UDP数据场。
使用此类的最常见的方式是使用bind()函数来绑定一个地址和port口,然后调用函数writeDatagram()函数和readDatagram()函数/receiveDatagram()来传输数据,如果你想使用标准的QIODevicede的函数read(),readLine(),write()等,你一定首先需要调用connectToHost()函数连接套接字到对等端。
套接字在每一次一个数据场写入网络的时候都会发射信号bytesWritten(),如果你仅仅是发射数据场,你不需要调用bind函数
信号readyRead()在数据场到大的时候都会发出,在这种情况下,函数hasPendingDatagrams()都会返回true,调用panedingDatagramSIze()函数来获得第一个挂起的数据场,然后使用函数readDatagram()和receiveDatagram()函数来读取它。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值