Bootstrap

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

;