QT开发之最简客户端

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


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);
}

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






阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bigtree_mfc/article/details/78053582
个人分类: Qt(跨平台)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭