zoukankan      html  css  js  c++  java
  • Qt定制开发2.文件传输模块PLUS(多线程后台版)


    基于文件传输模块做的一个简易的文件传输工具,仅需十分钟即可完成。

    1 简单介绍

    真实项目中使用,基于Qt开发的文件传输模块,后台版,可集成到任意的Qt工程中。

    • 支持多个线程的同时发送、接收文件,运行稳定可靠
    • 可以同时监听多个端口,也可以同时向多个端口发送文件
    • 提供Demo示例,接口足够简单,小白也能轻松驾驭
    • 提供了必要的信号,可以根据需要做一些界面显示

    2 使用方式

    通过单例对象调用接口,使用极其简单,例如FileHandler::instance()->sendFiles(),其它事情通通不用关心了,监听信号即可。

    2.1 发送文件

        /**
         * @brief sendFiles 发送指定目录的文件
         * @param dir 指定的目录
         * @param address 目标网络地址
         * @param port 目标端口
         */
        void sendFiles(const QDir &dir, const QHostAddress &address, quint16 port);
    
        /**
         * @brief sendFiles 发送指定的文件列表
         * @param fileList 指定的文件列表
         * @param address 目标网络地址
         * @param port 目标端口
         */
        void sendFiles(const QStringList &fileList, const QHostAddress &address, quint16 port);
    

    2.2 接收文件

        /**
         * @brief listen 打开监听
         * @param address 监听的主机地址
         * @param port 监听的端口
         * @param path 指定文件接收的目录
         * @return true:监听成功,false:监听失败
         */
        bool listen(const QHostAddress &address = QHostAddress::Any, quint16 port = 0, const QString &path = QString());
    

    2.3 提供的信号

        void errorOccurred(const QString &error);
        void sentBytesUpdated(qint64 totalBytes, qint64 bytesWritten);
        void receivedBytesUpdated(quint16 serverPort, qint64 bytesReceived);
    
        void sendingFileChanged(const QString &fileName);
        void receivingFileChanged(const QString &fileName);
    
        void fileSent(const QString &fileName);
        void fileReceived(const QString &fileName);
    
        void receiveFinished();
        void receiveStarted();
        void sendFinished(quint16 serverPort, qint64 ms);
    
    作者QQ:115124903,欢迎交流。
    推荐涛哥的QQ群,1群:734623697,2群:342341405,踏上Qt进阶之路。
  • 相关阅读:
    div 圆角
    CSS定义鼠标经过时鼠标图型样式
    如何判断浏览器类型然后让它读取指定的CSS
    如何分别指定ie6及ie7浏览器的css
    用CSS控制DIV居中失效的解决方法
    css如何控制文字多行显示,溢出截断后末尾出现省略...
    样式命名规则
    type="file" 谁用过这个属性给定义样式
    有利于SEO的DIV+CSS的命名规矩小结
    左右两个div高度自动一致,自适应高度
  • 原文地址:https://www.cnblogs.com/luoxiang/p/15806636.html
Copyright © 2011-2022 走看看