ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Qt定制开发2.文件传输模块PLUS(多线程后台版)

2022-01-15 12:33:15  阅读:142  来源: 互联网

标签:const Qt void 文件传输 param QString address 多线程 port


1 简单介绍

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

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

2 使用方式

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);

标签:const,Qt,void,文件传输,param,QString,address,多线程,port
来源: https://www.cnblogs.com/luoxiang/p/15806636.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有