首页| 论坛| 消息

标题:为什么我的客户端只能接受一次数据
作者:jiu__yi
日期:2019-10-21 21:47
内容:

#include "clientwidget.h"
#include "ui_clientwidget.h"
#include
#include
#include
ClientWidget::ClientWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::ClientWidget)
{
ui->setupUi(this);
tcpSocket =new QTcpSocket(this);
isStart=true;
connect(tcpSocket,&QTcpSocket::readyRead,
[=]()
{
//取出接受的内容
QByteArraybuf= tcpSocket->readAll();

if(true==isStart )
{//接收头
isStart=false;
//解析头部信息 QString buf="hello##1024"
//QString str="hello##1024";
//str.section("##",0,0)以##间隔开,第零行开始,第零行结束

//初始化
fileName =QString(buf).section("##",0,0);
fileSize= QString(buf).section("##",1,1).toInt();
recvSize= 0;
//打开文件
file.setFileName(fileName); ..


#1 [liulin188 10-22 13:03]
tcp是数据流,你必须自己定义应用层的包结束标志。
#2 [jiu__yi 10-22 16:41]
大佬,能到说详细点吗,不太明白

回复 发表
主题 版块