一、環境介紹
作業系統: win10 64位
QT版本: QT5.12.6
編譯器: MinGW 32
TCP網路除錯助手,在網路相關開發、嵌入式開發里使用較多,主要用來測驗網路傳輸,除錯等等,
這個版本設計的比較早,沒有加入多執行緒處理連接上來的客戶端,一般的除錯場景已經滿足,對于基本的QT網路開發入門學習借鑒已經足夠了,
軟體下載: https://download.csdn.net/download/xiaolong1126626497/17044958
工程完整源代碼下載: https://download.csdn.net/download/xiaolong1126626497/17058921
二、效果圖


三、源代碼
3.1 widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
setWindowIcon(QIcon(":/image/14g.png"/>3.2 wigdet.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QTcpServer>
#include <QHostInfo> //獲取計算機網路資訊
#include <QUdpSocket>
#include <QtNetwork>
#include <QHostInfo>
#include <QDebug>
#include <QTcpSocket>
#include <QHostAddress>
#include <QDebug>
#include <QMessageBox>
#include <QLineEdit>
#include <QHBoxLayout>
#include <QComboBox>
#include <QFile>
#include <QTimer>
#include <QScrollBar>
#include <QScrollBar>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
int TxCount;
int RxCount;
//關于客戶端模式相關的變數定義
QTcpServer *TcpServer;
QTcpSocket *ServerSocket;
QTcpSocket *LocalTcpClientSocket;
QLineEdit *ClientEditProt;
QLineEdit *ClientEditIP;
QLabel *ClientShowLocalProtLabel;
QLabel *ClientShowLocalIptLabel;
QHBoxLayout *ClientLayout;
void comboBox_config();
void NewClinet();
//關于服務器相關的變數定義
QTcpServer *LocalTcpServer;
void NewServer();
QList<QTcpSocket*> TcpFarClientList;
QLabel *SaverShowLocalProtLabel;
QComboBox *ClientComboBoxList;
QHBoxLayout *ServerLayout;
void SetStyle(const QString &qssFile);
QTimer *timer;
private slots:
void on_pushButton_connect_clicked();
void LocalTcpClientConnectedSlot();
void LocalTcpClientDisconnectedSlot();
void LocalTcpClientReadDtatSlot();
void NewTcpConnection();
void TcpClientDisconnected();
void ReadTcpClientData();
void on_comboBox_protocol_activated(int index);
void on_pushButton_SendData_clicked();
void on_pushButton_clear_clicked();
void on_About_clicked();
void on_checkBox_LoopTx_clicked();
void update();
void on_pushButton_cleanShow_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
3.3 UI設計界面


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279885.html
標籤:其他
上一篇:將esp8266接入手機端
