客户端程序负责与服务器建立连接,并通过发送和接收数据与服务器进行通信。服务器程序负责监听客户端的连接请求,并创建新的线程来处理每个客户端的收发包操作。客户端发送的数据经过服务器处理
网络访问接口,实现的功能是:服务器一直监听一个端口,一旦有客户端连接请求,便建立连接,并向客户端发送一个字符串,然后客户端接收该字符串并显示出来。
客户端程序:
-
Client类:定义了一个基于QMainWindow的客户端主窗口类。 -
Client::Client(QWidget *parent)构造函数:在构造函数中,创建了一个QTcpSocket对象m_client,并尝试连接到服务器的 IP 地址和端口号("127.0.0.1:6666")。如果连接成功,会打印 "conn ok" 并将m_client对象的readyRead()信号与myRead()槽函数连接起来。 -
Client::~Client()析构函数:释放了通过new创建的ui对象。 -
Client::on_sendButton_clicked()槽函数:在点击发送按钮时触发,它会将字符串 "蚂蚁ok" 转换为本地编码的QByteArray类型,并通过m_client对象的write()方法向服务器发送数据。 -
Client::myRead()槽函数:在通过m_client对象接收到服务器发送的数据时触发,将接收到的数据转换为QByteArray类型,并使用QString::fromLocal8Bit()转换为本地编码字符串。然后将转换后的字符串追加到 QTextBrowser 部件中以在界面上显示收到的内容。
在qt中新建一个Qt Widgets Application,名为:Client (客户端)
ui界面添加一个编辑框,一个按钮,一个文本编辑框作为文本显示
client.h
#ifndef CLIENT_H
#define CLIENT_H
#include <QMainWindow>
#include <QTcpSocket>
namespace Ui {
class Client;
}
class Client : public QMainWindow
{
Q_OBJECT
public:
explicit Client(QWidget *parent = nullptr);
~Client();
private slots:
void on_sendButton_clicked(); // 发送按钮点击事件的槽函数
void myRead(); // 读取数据的槽函数
private:
Ui::Client *ui; // UI界面对象指针
QTcpSocket *m_client; // TCP套接字对象指针
};
#endif // CLIENT_H
client.cpp
#include "client.h"
#include "ui_client.h"
#include <QDebug>
Client::Client(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Client)
{
ui->setupUi(this);
m_client = new QTcpSocket(this); // 创建TCP套接字对象
m_client->connectToHost("127.0.0.1", 6666); // 连接到服务器的IP地址和端口号
if (m_client->waitForConnected()) { // 等待连接成功
qDebug() <&

最低0.47元/天 解锁文章

1957

被折叠的 条评论
为什么被折叠?



