Josan学QT网络编程02-QTcpSocket

本文是Josan学QT网络编程系列的第二篇,重点介绍了QTcpSocket类。QTcpSocket提供TCP套接字功能,适合可靠的数据传输。作为QAbstractSocket的子类,它简化了TCP连接和数据流的处理。文章包括官方文档翻译、测试函数示例及源代码下载链接,鼓励读者动手实践以加深理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Josan学QT网络编程02-QTcpSocket

导读

PS: 如果你在之前的文章,看过导读,那么你可以跳过这段的阅读。如果没有看过导读,我建议你耐心的看完。这样有助于你更快的获取新知识。

  • 文章编写的整体思路
    先简单描述一下某个类,一般以QT官网的”Detalied Description”为主;
    然后是自己测试这个类的接口所用到的测试函数。测试函数的有测试结果说明以及对某个函数的解释说明。强烈建议你,自己跑一下测试函数,光看的话,印象是不深刻的。
    最后,送上一些参考链接,代码下载地址,以及自己的学习群:676908519。欢迎爱分享的小伙伴入群交流讨论。
    翻译说明:
    1. 对于一些常用的专业词汇,尽量不翻译,使用英文说明。
    2. 对于自己把握不是很准备的语句,会选择性跳过。
    3. 本翻译不是默守陈规式的翻译,对于一些语句翻译,会追加一些个人心得的补充。

QTcpSocket

官方文档翻译

QTcpSocket提供了一个TCP套接字。
TCP提供一个可靠的,面向字节的,面向连接的传输协议。它尤其适用于连续性传输数据。
QTcpSocket是QAstractSocket的子类。在建立TCP连接,传输数据流的时候,QTcpSocket显得十分方便。更多信息,可以参考QAbstractSocket文档说明
注意:TCP套接字不能以QIODevice::Unbuffered的模式打开,TCP套接字必须使用缓存

  • // 服务端主体代码
/**
 *  Josan学QT网络编程02-QTcpSocket
 */

connect(tcpServer, &QTcpServer::newConnection,
        [=]()
{
    qcout << "---------------------before connected -------------------";
    // 由于在connect之前,tcpSocket是nullptr。因此,不能调用这些内容QTcpSocket提供的接口

    tcpSocket = tcpServer->nextPendingConnection();

    qcout << "-------------------- after connected -------------------";
    // test tcpSocket相关属性值
    // error信号,还有信号信息
    qcout << "tcpSocket error        : " << tcpSocket->error();                           // QAbstractSocket::UnknownSocketError
    // 本地的地址和端口
    qcout << "tcpSocket local address: " << tcpSocket->localAddress().toString();         // 127.0.0.1
    qcout << "tcpSocket local port   : " << tcpSocket->l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值