Socket.D v2.5.12

协议指令流详解

</> markdown

1、连接与握手流

连接与握手,是在客户端打开连接时发生的。交互过程中,sid 会保持不变

服务端 onOpen 时,握手未完成,还不能给“当前会话”发消息。

2、心跳与自动重连流

心跳与自动重连,是平常保持连接活跃性的方式。就像心跳一样,按固定间隔进行跳动,发现连接失效时尝试自动重连

3、消息流(可双向互听互发)

客户端与服务端连通后。基于“双向通讯”特点,谁都可以是“发送端”(或请求者)、“接收端”(或响应者)

  • 发送

  • 发送并请求(有同步与异步之选)

交互过程中,sid 会保持不变。同步时,会有完整的闭环。

  • 发送并订阅

交互过程中,sid 会保持不变

4、关闭流

关闭,有几种情况会发现:

  • 1,服务端或客户端主动调用会话关闭而产生的“协议关闭”
  • 2,网络中断引起的“连接关闭”

协议关闭的状态维护:

  • 预关闭与关闭可一个使用 closeCode 进行维护,方便状态切换

预关闭(session::preclose):

关闭(session::close):