【qt】基于tcp的服务端编写

实现服务端,连接后拿到客户端ip地址和端口号

ui设计

修改对应行编辑对象名,修改客户端ip为clientip,客户端端口号为clientport

代码实现

1.网络通信需要加network

2.包含头文件

3.定义一个QTcpserver变量,并初始化

4.服务端监听,以及服务器收到链接信号,建立新链接

5.编写槽函数

源码分享

.h

c 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QTcpSocket>
#include<QTcpServer>
#define PORT 8080
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
private slots:
    void deal();
private:
    Ui::Widget *ui;
    QTcpServer *server;
};
#endif // WIDGET_H

.cpp

c 复制代码
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    server=new QTcpServer;
    server->listen(QHostAddress::AnyIPv4,PORT);
    connect(server,&QTcpServer::newConnection,this,&Widget::deal);
}

Widget::~Widget()
{
    delete ui;
}
void Widget::deal()
{

    QTcpSocket* socket=server->nextPendingConnection();
    ui->clientip->setText(socket->peerAddress().toString());
    ui->clientport->setText(QString::number(socket->peerPort()));
}

演示

服务端

相关推荐
郝学胜-神的一滴4 分钟前
基于C++的词法分析器:使用正则表达式的实现
开发语言·c++·程序人生·正则表达式·stl
前端市界1 小时前
前端视角: PyQt6+Vue3 跨界开发实战
前端·qt·pyqt
林开落L2 小时前
库的制作与原理
linux·开发语言·动静态库·库的制作
m0_480502642 小时前
Rust 入门 泛型和特征-特征对象 (十四)
开发语言·后端·rust
M1A13 小时前
TCP协议详解:为什么它是互联网的基石?
后端·网络协议·tcp/ip
瓦特what?3 小时前
关于C++的#include的超超超详细讲解
java·开发语言·数据结构·c++·算法·信息可视化·数据挖掘
祁同伟.3 小时前
【C++】动态内存管理
开发语言·c++
一只鲲3 小时前
40 C++ STL模板库9-容器2-vector
开发语言·c++
励志不掉头发的内向程序员3 小时前
C++基础——内存管理
开发语言·c++
lifallen4 小时前
JCTools 无锁并发队列基础:ConcurrentCircularArrayQueue
java·开发语言·数据结构·算法