只负责发送信号,它不知道另一端是谁在接收这个信号。这样就做到了真正的信
息封装,能确保对象被当作一个真正的软件组件来使用。
槽:用于接收信号,而且槽只是普通的对象成员函数。一个槽并不知道是否
有任何信号与自己相连接。而且对象并不了解具体的通信机制。
信号与槽的连接:所有从 QObject 或其子类 ( 例如 Qwidget ) 派生的类都能
够包含信号和槽。因为信号与槽的连接是通过 QObject 的 connect() 成员函数
来实现的。
4.1.6 聊天平台的设计思想
本系统采用服务器和客户端的形式。
服务器主要模拟服务器的控制端,来对客户端的各种状态进行监听。可以通
过网络向客户端发送信息,并接受客户端传来的信息,供用户参考。
客户端主要通过 IP 连接服务器。客户端在显示自己状态的同时,通过网络
实时将自己的状态发送到服务器端。
4.1.7 技术路线
UDP 协议:
UDP 是 User Datagram Protocol 的简称, 中文名是用户数据报协议,是 OSI
(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的
传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768 是 UDP 的
正式规范。
UDP 协议的全称是用户数据报协议[1] ,在网络中它与 TCP 协议一样用于处
理数据包,是一种无连接的协议。在 OSI 模型中,在第四层——传输层,处于 IP
协议的上一层。UDP 有不提供数据包分组、组装和不能对数据包进行排序的缺点,
也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP 用来支持
那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多
的客户/服务器模式的网络应用都需要使用 UDP 协议。UDP 协议从问世至今已经
被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在
今天 UDP 仍然不失为一项非常实用和可行的网络传输层协议。
与所熟知的 TCP(传输控制协议)协议一样,UDP 协议直接位于 IP(网际协
议)协议的顶层。根据 OSI(开放系统互连)参考模型,UDP 和 TCP 都属于传输
层协议。
UDP 协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数
据包就是一个二进制数据的传输单位。每一个数据包的前 8 个字节用来包含报头