zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    netty
    python统计订单走势
    log4j日志写入数据库
    struts 在Action中访问web元素(request,session等)
    struts 简单前台用户名校验
    struts 页面调用Action的指定方法并传递参数
    简单的对象监听器 观察者设计模式
    servlet 简单filter避免中文乱码等
    Struts 第一个Hello页面
    JDBC 使用SimpleJdbcTemplate实现Dao
  • 原文地址:https://www.cnblogs.com/yangjiquan/p/11447619.html
Copyright © 2011-2022 走看看