基本流程

(十五)qt-tcp

 

(十五)qt-tcp

 

QT       += core gui network

 

#include "tcp.h"
#include "ui_tcp.h"
#include <QDebug>

Tcp::Tcp(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Tcp)
{
    ui->setupUi(this);
    // ui init
    ui->ip_edit->setText("127.0.0.1");
    ui->port_edit->setText("9999");
    // 实例化
    server = new QTcpServer(this);
    // 监听
    server->listen(QHostAddress("127.0.0.1"),9999);
    // 新的链接
    connect(server, &QTcpServer::newConnection, this, [=](){
        // 接收客户端套接字对象
        // sock_addr 结构体 == 类 QTcpSocket
        conn = server->nextPendingConnection();
        ui->log_text->append("有新的链接");
        // 接收数据
        connect(conn,&QTcpSocket::readyRead, this, [=](){
            QByteArray array = conn->readAll();
            ui->log_text->append(array);
        });

    });
    connect(ui->send, &QPushButton::clicked, this, [=](){
        // 发送数据 QTextEdit
       conn->write(ui->input_text->toPlainText().toUtf8());
       ui->log_text->append("Me Say: " + ui->input_text->toPlainText());
       ui->input_text->clear();
    });

}

Tcp::~Tcp()
{
    delete ui;
}
server.cpp

相关文章: