【QT C++ TCP通信调试助手】

基于Qt5的 c++ Tcp/Ip通信

写在前面的话:
本文是在Qt 5.12.2平台上用c++写的tcp客户端与服务端的局域网通信,使用Qt自带的组件设计的界面,通过信号与槽机制实现ui界面中如QPushButton等组件的功能。另附C#链接:C#版tcp/ip通信

一、Qt中的项目的配置过程:

1.工程创建:打开Qt->新建项目->Application->Qt Widgets Application
2.在工程的.pro 中添加Qt的网络模块如下代码:
QT  += network
3.ui界面中的控件布局如下:

ui界面的设计

4.最终的运行效果:

最终的效果

5.项目文件的结构:

项目机构
注:其中Headers中的是.h文件;Sources中的是.cpp文件;Forms中的是ui界面;Resources中的是项目的 资源文件

二、TCP server:

1.tcp服务端负责监听ip,与指定的客户端建立连接并通信.
2.在.h中声明的函数有:
public:
	void Get_ip();
    bool send_msg(QString msg);
    bool send_msgs(QString msg);
private slots:
    //tcp server
    void on_connect_pushButton_clicked();
    void server_new_connection();
    void ReadError(QAbstractSocket::SocketError);
    void socket_Read_Data();
    void socket_disconnect();
    void timeUpdate();

   void on_clear_pushButton_clicked();
   void on_send_pushButton_clicked();

三、TCP client:

1.负责连接服务端,并与其通信。
2. 在 .h中声明的函数有:
private slots:
   void ReadData();
   void C_ReadError(QAbstractSocket::SocketError);

   void on_connect_server_pushButton_clicked();
   void on_clear_pushButton_2_clicked();
   void on_send_pushButton_2_clicked();

好了今天就写到到这了,最后附上源码的链接如下:

具体的实现过程源码及编译好的应用程序:项目源码

写在最后的话:

这个也是写了好几个版本,最开始时将Server端和Client端分开写的,有两个项目;后来又想着能不能将server和client放在一个项目中。又改了一个版本,在一个项目中封装两个类,server类和client类,通过button来切换服务端和客户端的界面。写完后又想了一下还是感觉不满意,于是又改了一个版本,server和client在一个类里边用Qt自带的组件QTabWidget实现server和client的界面切换,感觉这个版本符合app的使用习惯,最后就使用这个版本了。

嗯 …… 今天就这些了吧,最后再说一句:

有趣的灵魂千里挑一!!!!

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值