Socket.D 协议
是基于"事件"和"语义消息""流"的网络应用层传输协议。有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”。支持 tcp, udp, ws, kcp 传输。协议特点可参考《官网介绍》。
pyton 已开发完成,再在测试中;go, rust, c++ 正在开发中。
for Java 更新
- 添加 ClientConnectHandler 接口,提供连接时的拦截处理
- 添加 连接时 Handshake 元信息交互机制
- 添加 BrokerListener 异常转发支持
- 添加 Entity:delMeta 删除元信息接口
- 添加 BrokerListenerBase:getPlayerAny(name) 接口
- 优化 流异常传导性
- 优化 EntityDefault:metaPut 当 val=null时,视为删除
- 优化 ClientChannel:heartbeatHandle 添加 isClosing 的判断
- 优化 ClientChannel:heartbeatHandle 处理,增加内部会话关闭时,同步到外层
- 优化 ChannelDefault 内部的通道关闭改为延时100ms关,避免 sendClose 时通道坏掉
- 调整 BrokerListener 的能力方法,都改为公有
- 调整 心跳日志级别改为 debug
- smart-socket 升为 1.5.42
for JavaScript 更新
- 新增 BrokerListener 实现(node.js 可以开发 broker 服务了)
- 添加 Entity:delMeta 删除元信息接口
- 添加 连接时 Handshake 元信息交互机制
- 添加 ClientConnectHandler 接口,提供连接时的拦截处理
- 优化 EntityDefault:metaPut 当 val=null时,视为删除
- 优化 ClientChannel:heartbeatHandle 添加 isClosing 的判断
- 优化 ClientChannel:heartbeatHandle 处理,增加内部会话关闭时,同步到外层
- 优化 ChannelDefault 内部的通道关闭改为延时100ms关,避免 sendClose 时通道坏掉
- 优化 isClosedAndEnd 的判断条件,去掉 CLOSE1000_PROTOCOL_CLOSE_STARTING
视频演示效果:
- for H5
- https://www.bilibili.com/video/BV1ck4y197BV/
- 演示源码
- for UniAPP
- https://www.bilibili.com/video/BV1T94y1T7sp/
- 演示源码
代码仓库:
- https://gitee.com/noear/socketd
- https://github.com/noear/socketd
官网:
- https://socketd.noear.org