“协议”和序列化反序列化
“协议”的概念:
“协议”本身是一种约定俗成的东西,由通讯双方必须共同遵从的一组约定,因此我们一定要将这种约定用计算机语言表达出来,此时双方计算机才能识别约定的相关内容
我们把这个规矩叫做“协议”
序列化和反序列化的概念:
序列化是指将对象转换为字节流或其他可存储或传输的格式,以便将其存储在文件中或通过网络发送到另一个系统。反序列化是指将序列化的数据重新转换为对象。在序列化和反序列化过程中,对象的状态信息被保存和恢复,以保证数据的完整性和正确性。在分布式系统中,序列化和反序列化是实现远程方法调用和消息传递的重要技术。
例如微信发送一条消息,会将头像、昵称、消息内容、发送时间等“结构化”数据进行序列化,形成一个字节流报文,通过网络将该报文发送给接收方,接收方进行反序列化将报文重新拆解为头像、昵称、消息内容、发送时间等“结构化”数据。
TCP协议,如何保证接收方收到了完整的报文呢?
1、我们调用的所有发送/接收函数,并不是直接从网络中发送/接收数据,应用层调用的发送/接收函数,本质是一个拷贝函数。
例如客户端发送数据时,应用层调用发送函数将会