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 出现的)

视频演示效果:

代码仓库:

官网:

相关推荐
小喵要摸鱼11 分钟前
Python 神经网络项目常用语法
python
qq_3273427311 分钟前
Java实现离线身份证号码OCR识别
java·开发语言
yqcoder38 分钟前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
会发光的猪。1 小时前
css使用弹性盒,让每个子元素平均等分父元素的4/1大小
前端·javascript·vue.js
阿龟在奔跑1 小时前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
飞滕人生TYF1 小时前
m个数 生成n个数的所有组合 详解
java·递归
一念之坤2 小时前
零基础学Python之数据结构 -- 01篇
数据结构·python
天下代码客2 小时前
【vue】vue中.sync修饰符如何使用--详细代码对比
前端·javascript·vue.js
代码小鑫2 小时前
A043-基于Spring Boot的秒杀系统设计与实现
java·开发语言·数据库·spring boot·后端·spring·毕业设计
真心喜欢你吖2 小时前
SpringBoot与MongoDB深度整合及应用案例
java·spring boot·后端·mongodb·spring