
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.1 单聊流程
单聊指两个用户之间相互聊天。用户单聊的基本流程如下图所示。

1.A要和B聊天,首先A和B需要与服务端建立连接,然后进入登录流程,服务端保存用户标识和TCP连接的映射关系。
2.A给B发消息,首先需要将带有B标识的消息数据包发送到服务端,然后服务端从消息数据包中获得B的标识,找到对应B的连接,将消息发送给B。
3.任意一方发消息给对方,如果对方不在线,则需要将消息缓存,在对方上线之后再发送。
客户端与服务端之间相互通信的数据包被称为指令数据包。指令数据包分为指令和数据,每一种指令都对应客户端或者服务端的一种操作,数据部分对应的是指令处理需要的数据。
要实现单聊,客户端与服务端分别要实现哪些指令呢?下一节我们将详细介绍。