【QT网络-TCP】双端数据收发,QTcpSocket客户端数据接收并写入到文件中,能在PC和Ubuntu、Ubuntu和开发板之间通信

一、【客户端】Widget构造函数中连接信号槽

connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(receiveMessages()));

二、【客户端】槽函数完成数据接收、显示、写入到文件

void Widget::receiveMessages()
{
    //先存储下来,为tcpSocket->readAll()只能用一次,再次调用是返回空
    QByteArray tmpByteArray = tcpSocket->readAll();
    fileContent.append(" " + tmpByteArray);
    //接受消息并显示
    ui->textBrowser->append("服务端:" + tmpByteArray);

    //QString fileName = QFileDialog::getOpenFileName(this, "选择文本", "/home/zyl"); //返回的是一个字符串(路径+文件名)
    //qDebug() << fileName << endl;

    //设置要打开的文件
    //file.setFileName(fileName);

    //将数据写入到本地文件
    QFile file("/home/zyl/test.txt.txt");

    //打开文件
    if(!file.open(QIODevice::ReadWrite)){
        //文件打开失败
        qDebug() << "文件打开失败" << endl;
        return;
    }

    //写文件 file.write是将写入的内容覆盖到文本内,如原文本内容为22222,写入111,结果文本内容为11122
    file.write(fileContent);

    qDebug() << tmpByteArray << endl;

    //关闭文件
    file.close();
}

三、传输数据界面展示

图1 服务端界面

图2 客户端界面

 

 图3 文本内容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿龙还在写代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值