QT开发之最简客户端

来源:互联网 发布:淘宝网店实践总结报告 编辑:程序博客网 时间:2024/06/04 18:21

首先下载一个网络调试助手,测试自己写的客户端对不对。


1、配置

如果使用的QT Creator,在pro中添加QT += network

如果使用的VS+QT,选中项目->菜单QT5->Qt Project Settings->Qt Modules->选着Network多选按钮

2、UI

界面摆放:

2个QLineEdit:一个输入IP地址,一个输入端口号

2个PushButton:一个连接服务端按钮,一个发送数据按钮

2个QTextEdit:一个接收服务端数据显示,一个发送数据显示

3、头文件

#include <QTcpSocket>

QTcpSocket *socket;

private slots:中添加void socket_Read();//接收数据的信号,用来调用QTextEdit显示服务端数据

4、Cpp

构造函数中:

socket = new QTcpSocket();

QObject::connect(socket, &QTcpSocket::readyRead, this, &Dialog::socket_Read);//槽函数

析构函数:

delete this->socket;//VS中有问题

连接按钮槽函数中:

QString IP;

int port;

//获取IP地址

IP = ui->lineEdit->text();

//获取端口号

port = ui->lineEdit2->text().toInt();

//取消已有的连接

socket->abort();

//连接服务器

socket->connectToHost(IP, port);

//等待连接成功

if(!socket->waitForConnected(10000))

{

return;

}

else

{

ui->pushbutton1->setEbabled(false);

}

发送按钮槽函数中:

socket->write(ui->textEdit2->toPlainText().toLatin1());//获取需要发送编辑框中数据发送
socket->flush();

Read槽函数:

QByteArray buffer;//读取缓冲区数据buffer = socket->readAll();if(!buffer.isEmpty()){        QString str = ui->textEdit2->toPlainText();        str+=tr(buffer);        //刷新显示        ui->textEdit2->setText(str);}

大概就是这样,也就几十行代码,可以用网络调试助手测试下。






原创粉丝点击