QT网络通信-TCP、UDP通信

这篇具有很好参考价值的文章主要介绍了QT网络通信-TCP、UDP通信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

时间记录:2024/1/17
pro文件添加模块network

一、TCP服务端

(1)创建TCP服务器对象QTcpServer
(2)为QTcpServer对象的newConnection信号绑定槽,用来监听TCP客户端的新连接,有新的客户端连接便会触发此信号
(3)使用nextPendingConnection方法获取连接的Tcp客户端对象QTcpSocket
(4)为QTcpSocketreadReady信号绑定槽,用来读取客户端发送到服务器端的消息,每次客户端有新消息发送,服务器端便会触发此信号
(5)QTcpSocketstateChanged信号可以用来监听客户端连接状态,槽函数中sender方法获取触发信号的对象,当检测到客户端连接断开时使用deleteLater方法清理对象内存,防止内存溢出
(6)获取连接的客户端IP和端口,使用QTcpSocket类的peerAddress方法和peerPort方法
(7)使用QTcpSocket对象的readwrite方法与客户端进行数据的收发
(8)QTcpServer类的findChildren方法可以获取连接的所有客户端对象
(9)QTcpServer类的listen方法用于监听本机IP和端口,即启动服务器
(10)QTcpServer类的close方法用于停止监听连接,表示不会有新的连接能连上,但是已经连接的客户端依旧可以发送信息

二、TCP客户端

(1)创建TCP客户端对象QTcpSocket
(2)为readReady信号绑定槽函数,监听数据的到来
(3)为stateChanged信号绑定槽函数,监听连接的状态变化
(4)使用writeread方法发送和读取信息
(5)使用bind方法绑定IP和端口
(6)使用connectToHost方法连接指定的服务器
(7)使用disconnectFromHost方法断开与服务器之间的连接

三、UDP通信

(1)创建UDP对象QUdpSocket
(2)为readReady信号绑定槽函数
(3)pendingDatagramSize方法获取接收到的数据大小
(4)hasPendingDatagrams方法判断是否有数据报到来
(5)readDatagram方法读取指定IP和端口发送过来的数据报
(6)bind方法绑定本机IP和端口号,即建立连接
(7)abort方法解除绑定,即断开连接
(8)writeDatagram方法向指定IP和端口的主机发送数据报,QHostAddress::Broadcast表示向局域网的所有IP指定端口发送数据报,即广播

四、QT实现单例模式

1.头文件

publicstatic MWidget *getInstance();

private:
	MWidget(QWidget *parent = nullptr);
    ~MWidget();
    static MWidget *instance;

2.源文件文章来源地址https://www.toymoban.com/news/detail-799562.html

MWidget *MWidget::instance = nullptr;

MWidget *MWidget::getInstance()
{
    if(instance==nullptr)
        instance = new MWidget;
    return instance;
}

到了这里,关于QT网络通信-TCP、UDP通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络通信】探索UDP与TCP协议、IP地址和端口号的奥妙

    🌺 个人主页: Dawn黎明开始 🎀 系列专栏: 网络奇幻之旅 ⭐ 每日一句:往前走,朝着光 📢 欢迎大家:关注 🔍 +点赞 👍 +评论📝+收藏⭐️ 文章目录 📋前言 一.网络通信 1.1网络通信协议 1.2TCP/IP协议中的四个层次 二.UDP协议 2.1定义 2.2UDP连接的交互过程 三.TCP协议 3.1定义

    2024年02月05日
    浏览(47)
  • Qt开发-TCP/IP网络通信(以及文件传输)

    TCP/IP通信(即SOCKET通信)是通过网线将 服务器Server端 和 客户机Client端 进行连接,在遵循ISO/OSI模型的四层层级构架的基础上通过TCP/IP协议建立的通讯。控制器可以设置为服务器端或客户端。 关于TCP/IP协议可详看:TCP/IP协议详解 - 知乎 (zhihu.com) 总的来说,TCP/IP通讯有两个部分

    2024年02月10日
    浏览(49)
  • 【Unity】网络通信(TCP&UDP)

    Unity/C#要想和其他电脑或者软件程序通讯,最好的方式是通过网络进行通讯,下面简要介绍以下其原理和实现: TCP和UDP是传输层协议,使用IP协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。 两者的不

    2024年01月16日
    浏览(63)
  • 网络通信(Socket/TCP/UDP)

    Socket(又叫套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接协议,客户端的IP地址,客户端的端口,服务器的IP地址,服务器的端口。 一个Socket是一对IP地址和端口。 Socket可以看

    2024年01月22日
    浏览(54)
  • 18 MFC TCP和UDP 网络通信

    有错误代码可以进行查找 将错误代码输入 勾选高级功能 如果没有勾选 TCP服务器 ui 设置 添加套接字类 创建虚函数接收连接 在服务器里面创建客户端类 在客户端类中添加接收的响应函数 断开连接 // TCPChatServerDlg.h: 头文件 // TCPChatServerDlg.cpp: 实现文件 //ClistenSocket.h //ClistenSo

    2024年02月14日
    浏览(37)
  • 基于UDP/TCP的网络通信编程实现

    红色是心中永不褪色的赤诚 操作系统为网络编程提供了 Socket api , Socket是基于TCP/IP协议的网络通信的基本单元, 基于Socket的网络程序开发就是 网络编程. 由于直接与应用层联系的是传输层, 所以针对应用层协议(TCP, UDP), Shocket提供了三种套接字, 分别是 流套接字(使用TCP) , 数据报

    2024年02月08日
    浏览(51)
  • day2:TCP、UDP网络通信模型

    思维导图 机械臂实现 按下后机械臂反应

    2024年01月16日
    浏览(42)
  • 使用 python socket 实现UDP/TCP网络通信

    目录 目录 1.socket简介 2.创建socket 2.1创建UDPSocket 2.2创建TCPSocket 3.使用UDPSocket发送数据并接收 4.使用UDPSocket发送广播 5.UDPSocket聊天器 (多线程实现消息的收发功能) 6.使用TCPSocket建立客户端 7.使用TCPSocket建立服务端        socket(简称:套接字),是支持TCP和UDP(网络传输方式

    2023年04月10日
    浏览(62)
  • 【Java 网络编程】网络通信原理、TCP、UDP 回显服务

    互联网从何而来? 这要追溯到上个世纪 50 - 60 年代,当时正逢美苏争霸冷战, 核武器 给战争双方提供了足够的威慑力,想要保全自己,就要保证自己的 反制手段 是有效的。 如何保证能够反击: 保存指挥机构 保存核弹头和发射井 指挥机构和核弹头之间的通信链路 需要保证

    2023年04月10日
    浏览(47)
  • tcp/udp socket 网络通信中超时时间的设置

    1.connect函数的超时时间设置只对TCP有效 UDP由于是无连接的connect都会返回success 有两种方法: 第一种方法 默认的socket是阻塞模式 我们只需要设置其为非阻塞模式,然后调用select去查询其状态 代码如下:  第二种是 默认其为阻塞模式  通过setsockopt 函数设置TCP_SYNCNT 值 头文件

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包