因为是我刚接触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