网盘系统Qt5实现- 客户端服务器搭建

一、加载配置文件

1.在代码目录下创建一个client的配置文件

将服务器的IP和port信息填入配置文件中,将配置文件作为资源文件添加到项目中

程序运行时加载文件中的数据

2.进行本地测试,使用本地环回测试IP:127.0.0.1,和端口8888.

3.将配置文件添加到资源文件夹中

4.读取配置文件中的数据,用文件进行操作,使用Qt中的QFile类进行操作

5.将读取到的数据打印出来

6.解析接收到的数据

二、TCP客户端连接服务器

1.添加Qt中的网络变成模块 network

加载QTcpSocket类用来连接服务器,收发服务器数据

#include<QTcpSocket>


private:
    QTcpSocket m_tcpSocket; // 用来连接服务器,收发服务器数据

在构造函数中连接服务器,连接成功会弹出提示框

TcpClient::TcpClient(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::TcpClient)
{
    ui->setupUi(this);
    loadConfig();

    connect(&m_tcpSocket,&QTcpSocket::connected,this,&TcpClient::showConnect);

    // 连接服务器
    m_tcpSocket.connectToHost(QHostAddress(m_strIP),m_nPort); //默认为读取模式

}

三、服务器实现

1.建立服务器,类似客户端的创建,并导入配置文件

2.加载配置文件并进行监听

使用单例模式创造一个,MyTcpServer 对象,通过调用这个函数只会返回操作同一个对象。

    //单例模式
    static MyTcpServer &getInstance();
MyTcpServer &MyTcpServer::getInstance()
{
    static MyTcpServer instance;
    return instance;
}

在TcpServer中调用该函数并进行监听

TcpServer::TcpServer(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::TcpServer)
{
    ui->setupUi(this);

    loadConfig();
    //进行监听
    MyTcpServer::getInstance().listen(QHostAddress(m_strIP),m_nPort);
}

通过重写虚函数,来实现获取连接后的信息

protected:
    void incomingConnection(qintptr handle);
void MyTcpServer::incomingConnection(qintptr handle)
{
    qDebug()<<"new client connected!";
}

然后进行测试,先启动服务器,在启动客户端

客户端显示连接成功。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值