使用QTcpSocket实现简单的TCP客户端

这篇文章将指导你使用QT的QTcpSocket类创建一个简单的TCP客户端应用程序。我们将涵盖以下内容:

  • 连接到TCP服务器* 发送数据到服务器* 从服务器接收数据* 处理连接和断开连接

代码示例

以下是使用QTcpSocket类实现的简单TCP客户端代码示例:

**mainwindow.h:**cpp#ifndef MAINWINDOW_H#define MAINWINDOW_H

#include #include

QT_BEGIN_NAMESPACEnamespace Ui { class MainWindow; }QT_END_NAMESPACE

class MainWindow : public QMainWindow{ Q_OBJECT

public: MainWindow(QWidget *parent = nullptr); ~MainWindow();

private: void connectToServer(); void handleConnected(); void handleDisconnected(); void handleReadyRead();

private: Ui::MainWindow *ui; QTcpSocket *socket;};

#endif // MAINWINDOW_H

**mainwindow.cpp:**cpp#include 'mainwindow.h'#include 'ui_mainwindow.h'#include

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow){ ui->setupUi(this); socket = new QTcpSocket(this);

connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::connectToServer);    connect(socket, &QTcpSocket::connected, this, &MainWindow::handleConnected);    connect(socket, &QTcpSocket::disconnected, this, &MainWindow::handleDisconnected);    connect(socket, &QTcpSocket::readyRead, this, &MainWindow::handleReadyRead);}

MainWindow::~MainWindow(){ delete ui;}

void MainWindow::connectToServer(){ ui->textEdit->clear(); ui->textEdit->append('正在连接中...');

socket->connectToHost('服务器IP地址', 1234); // 替换为实际的服务器IP地址和端口号}

void MainWindow::handleConnected(){ ui->textEdit->append('连接成功!');

// 向服务器发送userid    QString userid = '123'; // 替换为实际的userid    socket->write(userid.toUtf8());}

void MainWindow::handleDisconnected(){ ui->textEdit->append('连接失败!');}

void MainWindow::handleReadyRead(){ QString suggestion = QString(socket->readAll()); ui->textEdit->append(suggestion)

使用QTcpSocket实现简单的TCP客户端

原文地址: http://www.cveoy.top/t/topic/fCae 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录