WebSocket 服务

    • 快速的搭建使用 websocket server
    • 支持完全的自定义流程处理,如果你不想使用框架自带的处理
    • 支持消息阶段的数据解析和路由调度
    • 通用的消息发送方法封装(send, sendToSome, sendToAll, broadcast 等)
    1. |
    2. |使用模块类中标记的握手方法验证请求
    3. |
    4. v
    5. 握手成功,接受连接
    6. |
    7. | 创建连接上下文Connection,存储到Session管理器
    8. | (含有fd, request等信息)
    9. |
    10. v
    11. |
    12. |创建消息上下文Context,存储到Context管理器
    13. |同时通过CoID会与Session的绑定关系
    14. |
    15. 解析消息数据
    16. |
    17. |得到消息指令和消息body
    18. |(根据消息指令找到处理控制器 eg ChatController)
    19. |
    20. V
    21. 调度消息处理
    22. |
    23. |调用对应的message控制器方法处理
    24. |
    25. V
    26. 打包返回数据
    27. |
    28. |同时删除与Session的绑定关系
    29. v
    30. 得到响应 <--- 返回结果
    31. |
    32. 消息请求 --> |
    33. . |
    34. . |(重复上述消息处理流程)
    35. . |
    36. <-- 得到响应 |
    37. |
    38. v
    39. 断开连接 -——-——--> 收到关闭连接事件
    40. |
    41. | 销毁连接上下文,从Session管理器删除此连接
    42. |
    43. v