基于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界面中的控件布局如下:

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 servervoid 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的使用习惯,最后就使用这个版本了。

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

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

【QT C++ TCP通信调试助手】相关推荐

  1. QT编写TCP/UDP调试助手之TCP客户端

    效果图: TCP/UDP调试助手之TCP客户端,支持错误信息显示,断开连接后及时释放资源. 一.关键代码 1.在.pro文件中添加QT += network,包含头文件#include <QTc ...

  2. Qt实践录:TCP网络调试助手

    由于项目需要使用到网络调试及测试,为了练手,使用 Qt 编写一个串口调试助手.本文按开发的过程进行简单介绍,同时也涉及部分用到的模块代码.详细代码参考源码仓库. 在代码复用方面,笔者认为 Qt 比 M ...

  3. Android studio TCP网络调试助手应用开发(支持TCP Server与Client切换)

    在前几篇的文章中带大家完成了基于TCP的物联网安卓应用开发,教程内容是创建了一个TCP客户端并连接服务器完成数据通信的过程,后不久又发布了一个ESP8266创建TCP 服务器与安卓的客户端进行通信的一 ...

  4. Qt关于Tcp通信步骤的总结

    Qt中TCP通信,与C++中tcp通信还是有差别的,下面总结一下Qt中TCP通信. 服务端: 创建QTcpServer对象.可以在构造函数中创建,在.h中声明类QTcpServer,并在类中定义其指针 ...

  5. 学习笔记:使用Qt制作一个串口调试助手

    界面设计参考了野火串口调试助手C#版 功能基本实现!实现效果看图: 第一步:制作图形界面 注意控件命名要又辨识度,不然在编写代码时将是很很痛苦的 第二步:添加相应的库 添加此次工程所需要的串口库,在工 ...

  6. 基于QT的TCP通信

    一.简介 TCP通信必须先建立TCP链接,通信端分为客户端和服务器端.QT提供了QTcpServer类和QTcpSocket类用于建立TCP通信应用程序.QTcpServer用于端口监听,建立服务器: ...

  7. 基于linux和qt的串口通信调试器调的设计及应用,基于linux和Qt的串口通信调试器调的设计及应用...

    Q:墼 S ic n Tcnl yI oai ea c nead eho g nvt n rd e o n oH l T技术 基于 I x和 Ot iu n的串口通信调试器调的设计及应用 盂繁磊穆丽红 ...

  8. TCP网络调试助手上提示错误:“1035 未知错误”的有效解决方法,本人实测确实可行

    对于网络调试助手如NetAssist等连接不上服务器且左下角显示"1035 未知错误"的问题,本人困惑许久,参考了网上的多种解决方法,有的说法是网络调试助手的版本太低,在Win10 ...

  9. Qt安卓app开发,蓝牙通信调试助手,经典蓝牙通信调试工具

    目录 软件说明 app界面 源码下载地址 软件说明 1.基于Qt开发,QBluetoothSocket通信: 2.开/关蓝牙.搜索/停止搜索设备.Ascii/Hex收发.收发延迟设置.收发计数等功能: ...

  10. Qt中Tcp通信的简单使用二

    tcp编程中写的一个简单的单项传输数据的小例子,和上一节一样,分为客户端和服务端程序,下面看一下界面的效果. 创建的方法和之前一样,上面上代码: 客户端 Client.h #ifndef CLIENT ...

最新文章

  1. 在php代码中加视频,php – 如何在laravel代码中嵌入视频
  2. 如何实现少样本学习?先让神经网络get√视觉比较能力
  3. Cloudera Manager 和CDH6.0.1安装,卸载,各步骤截图(此博文为笔者辛苦劳作最终生成的,使用了3个熬到凌晨2~4点的夜晚,外加一个周末完成,请转载时记录转载之处,谢谢)
  4. 监听列表事件的监控核心技术(编写代码)
  5. 实验四 图的实现与应用
  6. 《程序员面试金典》合法括号判断
  7. ZZULIOJ 1067:有问题的里程表
  8. 利用display属性写的遮罩层
  9. zabbix监控进程的CPU和内存占用量
  10. 1040. 有几个PAT(25)
  11. 文件上传------c#
  12. 三款免费好用的Gif制作神器
  13. PID算法基本原理及整定实现方法
  14. 搜狗输入法 VS 拼音加加
  15. 5.2.1_3 普通心理学(彭冉玲第四版) - 第2章 心理的神经生理机制
  16. 做财务讲师真的好吗?启宣教育告诉你答案
  17. mysql myisam转innodb_转:MySQL从MyISAM引擎转换到InnoDB引擎需要注意的地方
  18. 转 -- Zynga:从Amazon公共云到zCloud私有云
  19. 用java将数组中的数字倒过来_有数组a[n],用java 代码将数组元素顺序颠倒
  20. 使用EasyCV Mask2Former轻松实现图像分割

热门文章

  1. FileUpload类别FileUpload1.FileName和FileUpload1.PostedFile.FileName差异
  2. 适用于Windows的Xcode:在PC上安装Xcode的5种方法
  3. word退出时,提示”更改会影响共用模板normal.dotm“的处理办法
  4. 数据库系统——基本概念
  5. Java 的三种 Base64
  6. CentOS 6.2 + CUPS + AirPrint for iOS
  7. DevComponents.DotNetBar2 美化包使用以及验证教程
  8. 各种数据库之间数据迁移工具
  9. 使用VM12虚拟机安装CentOS7
  10. 安装虚拟机和卸载虚拟机 vm15 vm12