Socket.D 开源网络应用协议,v2.5.9 发布(已有 java, py, js SDK)

Socket.D 协议?

Socket.D 是一个基于事件和语义消息流的网络应用协议。在微服务、移动应用、物联网等场景,可替代 http、websocket 等。协议详情参考《官网介绍》

  • 支持: tcp, udp, ws, kcp 传输。

  • 目前:java,kotlin,javascript,node.js,python,android 语言环境可用。go,rust,c/c++,.net 正在开发中。

最近更新

(1) for Java
  • 添加 静态 spi 加载方式(避免某些打包方案让 java spi 失效)
  • 添加 新的每秒帧流量控制接口 TrafficLimiter
  • 添加 Listener:onReply, onSend 方法,方便帧流量统计
  • 添加 FrameIoHandler 接口,强化 Processor 的帧输入输出强控地位
  • 添加 SessionUtils 工具类
  • 添加 Session::isActive()
  • 添加 java-websocket 适配子协议验证(避免乱连)
  • 添加 spring-websocket 适配子协议验证(避免乱连)
  • 添加 BroadcastBroker 接口(提供类似 stomp 的体验)
  • 添加 LoadBalancer:isActive 接口
  • 添加 内存占比限制支持
  • 添加 EntityMetas.META_X_UNLIMITED
  • 添加 EntityMetas.META_X_HASH, 另 META_X_Hash 标为弃用
  • 添加 Session::attrDel 接口
  • 添加 ListenerWrapper 类,方便应用定制
  • 优化 java-websocket 适配,增加 header 转移
  • 优化 spring-websocket 适配,增加 header 转移
  • 优化 java-websocket 适配,增加 setReuseAddr(true) 配置
  • 修复 server.stop 后不能自动退出的进程问题
  • 修复 session.close() 后不能自动退出的进程问题
  • smartsocket 升为 1.5.46
(2) for Python
  • 优化 Session::send_alarm 申明,支持 alarm: str|Entity
  • 添加 Listener:onReply, onSend 方法,方便帧流量统计
  • 添加 FrameIoHandler 接口,强化 Processor 的帧输入输出强控地位
  • 添加 SessionUtils 工具类
  • 添加 Session::isActive()
  • 添加 BroadcastBroker 接口(提供类似 stomp 的体验)
  • 添加 websocket 适配子协议验证(避免乱连)
  • 添加 EntityMetas.META_X_UNLIMITED
  • 优化 流的超时处理
  • 调整 语言版本需求改为 3.10
  • 修复 stream.on_reply 非异步调用出错的问题
(3) for JavaScript
  • 添加 Listener:onReply, onSend 方法,方便帧流量统计
  • 添加 FrameIoHandler 接口,强化 Processor 的帧输入输出强控地位
  • 添加 SessionUtils 工具类
  • 添加 Session::isActive()
  • 添加 BroadcastBroker 接口(提供类似 stomp 的体验)
  • 添加 websocket 适配子协议验证(避免乱连)
  • 添加 EntityMetas.META_X_UNLIMITED
  • 添加 提供者手动注册接口
  • 调整 代码结构与 java,python 尽量保持相近
  • 优化 SocketD.newEntity 与小程序的兼容性(小程不支持 File、Blob 类型)
  • 修复 wechat 的环境识别问题
  • 修复 在 ios/android 上检测 TextEncoder 出错的问题(2.3.10 出现的)

视频演示效果:

代码仓库:

官网:

相关推荐
Hilaku9 分钟前
都2025年了,我们还有必要为了兼容性,去写那么多polyfill吗?
前端·javascript·css
LuckySusu15 分钟前
【js篇】JavaScript 原型修改 vs 重写:深入理解 constructor的指向问题
前端·javascript
LuckySusu16 分钟前
【js篇】如何准确获取对象自身的属性?hasOwnProperty深度解析
前端·javascript
LuckySusu20 分钟前
【js篇】深入理解 JavaScript 作用域与作用域链
前端·javascript
LuckySusu20 分钟前
【js篇】call() 与 apply()深度对比
前端·javascript
LuckySusu24 分钟前
【js篇】addEventListener()方法的参数和使用
前端·javascript
LuckySusu31 分钟前
【js篇】深入理解 JavaScript 原型与原型链
前端·javascript
Juchecar40 分钟前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
卡尔特斯43 分钟前
Android Kotlin 项目代理配置【详细步骤(可选)】
android·java·kotlin
白鲸开源44 分钟前
Ubuntu 22 下 DolphinScheduler 3.x 伪集群部署实录
java·ubuntu·开源