QT笔记文件传输(tcp)功能介绍,局域网速度极快

因为是我刚接触qt不久学习的过程,所以有对实现功能的前提基础有一些介绍。我介绍的是一个实现过程,有核心的实现代码,在我测试后发现在局域网内传输速度大于200m/s时发送较大文件可能会稍有卡顿,不过等一会儿发送完毕后就正常了,如果在公网上传输则取决于你的传输速度。

首先要建立一个tcp的连接。

    fileSocket->abort();
    fileSocket->connectToHost(IP, 8888);
    if(!fileSocket->waitForConnected(1000))
    {
        qDebug() << "fileSocket Connection failed!"<<"error"<<fileSocket->error();
        this->close();
        return;
    }
    qDebug() << "fileSocket Connect successfully!";

这个是客户端片段,比较简单,相关博客非常多,客户端发起连接请求后,服务端监听这个端口就好了,这个IP则是服务端的ip地址。

    TcpServer ser;   //这个是我重写的类   qt原始的类是QTcpServer
    ser.listen(QHostAddress::Any,8888);

一、服务端部分:

服务端部分我重写了QTcpSocket类目的是为了多客户端连接,这个先不说

这是服务端部分发送和接收的槽函数和一些参数初始化,(readyRead()信号需要注意的是并不是客户端write一次就会触发一次&#x

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
QT是一种跨平台的开发框架,提供了丰富的功能和库,可以方便地实现局域网文件传输功能。 首先,我们可以利用QT的网络模块来进行局域网文件传输。通过建立TCP连接,可以实现可靠的数据传输。我们可以使用QT提供的QTcpSocket类来实现客户端和服务器端之间的通信。客户端可以向服务器端发送请求,并将文件内容通过套接字发送给服务器端,服务器端接收到文件内容后,可以保存文件到指定的位置。在这个过程中,我们可以使用QT提供的QFile类来读取和写入文件。 另外,QT还提供了QUdpSocket类,可以实现UDP协议的通信。UDP协议在局域网中的传输速度,可以用于实现速的文件传输。通过使用QUdpSocket类,可以将文件分成小块进行传输,然后在接收端进行重组,最终得到完整的文件。在UDP传输中,服务器端需要绑定IP地址和端口号,客户端则需要知道服务器端的IP地址和端口号。 此外,我们还可以使用QT提供的QNetworkAccessmanager类实现文件的下载和上传。通过QUrl类可以指定要下载或上传的文件的URL地址,然后通过QNetworkRequest类和QNetworkReply类来发送请求和接收响应。可以使用QNetworkReply类获取文件内容并保存到本地。 总之,利用QT的网络模块,我们能够方便地实现局域网文件传输功能。无论是通过TCP还是UDP协议,或是使用QNetworkAccessmanager类,QT都提供了丰富的功能和类库来满足我们的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值