QT开发多功能调试助手—网络调试助手—程序编写(主体框架)

本文档展示了如何使用QTcpServer和QTcpSocket在C++中构建网络通信结构,包括TCP对象链表结构定义、基本功能模块设置以及不同模式的连接处理函数。此外,还涉及到UDP模式下的QUdpSocket使用。
摘要由CSDN通过智能技术生成

主页面的代码好说,主要就是负责菜单栏和页面切换
在这里插入图片描述
然后创建网络通讯需要用到的变量

typedef struct TcpSocketStruct{
    TcpSocketStruct* left;
    TcpSocketStruct* next;
    QTcpSocket socket;
}TcpSocketStruct;

QTcpServer          *MyTcpServer;         // 打开的TCP端口
QTcpSocket          *TcpClientSocket;     // 客户端连接对象
TcpSocketStruct     *TcpServerSocket;     // 服务端连接表
QUdpSocket          *MyudpSocket;         // 打开的UDP端口

然后搭建基本功能结构

/* user include --------------------------------------- */
#include <QWidget>
#include <QTcpServer>
#include <QTcpSocket>
#include <QUdpSocket>

/* user namespace ------------------------------------- */
namespace Ui {
    class wangluo;
}

/* user struct ---------------------------------------- */
//定义TCP对象链表结构
typedef struct TcpSocketStruct{
    TcpSocketStruct* left;
    TcpSocketStruct* next;
    QTcpSocket socket;
}TcpSocketStruct;

/* user enum ------------------------------------------ */
typedef enum
{
    SocketClientMode    =       0,   //Socket客户端模式
    SocketServeModer    =       1,   //Socket服务器模式
    UDPMode             =       2,        //UDP模式
}MySocketMode;

/* user namespace ------------------------------------- */
class wangluo : public QWidget
{
    Q_OBJECT

public:
    explicit wangluo(QWidget *parent = nullptr);
    ~wangluo();

private:
    Ui::wangluo *ui;

public:
    MySocketMode        SocketMode;                     //当前连接模式
    bool                ConnectKey;                     //当前连接状态
protected:
    /* UDPMode */
    QUdpSocket          *MyudpSocket;                   // 打开的UDP端口

    /* SocketClientMode */
    QTcpSocket          *TcpClientSocket;               // 客户端连接对象

    /* SocketServeModer */
    QTcpServer          *MyTcpServer;                   // 打开的TCP服务器端口
    TcpSocketStruct     *TcpServerSocket;               // 服务端连接表
public:
    /* 各模式连接处理 */
    void                SocketClientModeRun();
    void                SocketServeModerRun();
    void                UDPModeRun();
    /* 连接状态改变时处理 */
    void                SocketConnectMod(bool mode);    //连接状态改变时处理

private slots:
    /* 模式处理 */
    void 				on_socket_mod_activated(int index);
    /* 清除文本 */
    void 				on_clear_seed_text_clicked();
    void 				on_clear_recv_text_clicked();
    /* 连接断开处理 */
    void 				on_socket_button_clicked();
    void 				on_socket_seed_clicked();
};

之后就是对函数主体进行进行编写了(๑•̀ㅂ•́)و✧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值