• QT做简单TCP客户端问题


    1、当发送大的文件的时候,mSocket->readAll();并不能收取全部的数据包,需要根据文件大小来接收,服务器先发送文件的大小给客户端,再根据文件大小来收取文件

    mSocket->readAll();//这个是将TCP整个数据流里面的数据拿出来,如果在整个后面使用recvbytes = mSocket->bytesAvailable();,此时,recvbytes=0;

    rdvoice(&msg);

            file_size -= recvbytes;

    2、文件的读取问题

        QFile file;

        file.setFileName("./1.wav");

        //file.open(QIODevice::WriteOnly |QIODevice::Append); //整个方式,没有办法做到在文件尾部追加数据

        file.open(QIODevice::Append);//这里是在文件尾追加数据的方式打开

        file.seek(file.size());

        file.write(*msg);

    file.close();

    3、C语言将int转换为char型

    sprint(num,”%d”,123);

    4.QT动图显示

    #include <QMovie>

    QMovie *image = new QMovie("./1.jpg");

    ui->label_photo->setMovie(image);

    image->start();

    5、QT中TCP发送结构体

      mSocket->write((char *)&client_1,sizeof(client_1));  //发送客户端结构体

    6、QT线程的简单使用

    1)在.h文件

    #include <QThread>

    class myThread: public QThread

    {

    public:

        myThread();

        void run();

        exit_port *w;

    };

    2)在cpp文件

    myThread::myThread() //构造

    {

    }

    void myThread::run()

    {

        while(1)

        {

            if(w->finish_send == 1){ //QT的ui显示

                w->show_id();

                w->show_photo();

                w->show();

                break;

            }

        }

    }

    3)在main.cpp

    myThread *thread = new myThread;

    thread->w = &w;

    thread->start();

  • 相关阅读:
    9-2 链表
    transient
    获取当前电脑的ip地址
    LinkList
    Java代码模拟链表
    什么是复合主键
    wp8 入门到精通
    C# 从入门到精通
    wp8 json2csharp
    wp8 安装.Net3.5
  • 原文地址:https://www.cnblogs.com/yangjiquan/p/11447619.html
Copyright © 2020-2023  润新知