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

视频演示效果:

代码仓库:

官网:

相关推荐
honsor6 分钟前
双网口 + RS485 机柜温湿度传感器,Modbus RTU/TCP 如何接入 Zabbix
网络协议·tcp/ip·zabbix
code2cat9 分钟前
【随笔】RAG语义缓存:问题很相似,答案就能直接复用吗
java·缓存·知识库·rag
万化冥合30 分钟前
怎么批量把 Word 转 PDF?
python·pdf·c#·word
Rain的Java大神之路31 分钟前
面了 50 个候选人,90% 都挂在 LeetCode 3 无重复字符的最长子串:滑动窗口的 5 个致命坑
java·后端·leetcode
西凉的悲伤32 分钟前
Jsoup 库 HTML 解析详解
java·前端·html·jsoup
~城南花已开~34 分钟前
Redfish 事件接收服务搭建指南(Ubuntu Server 实测)
linux·服务器·python·ubuntu
fengyangaiGEO35 分钟前
如何通过GEO优化实现外贸B2B询盘增长?
人工智能·python
十碗饭吃不饱44 分钟前
Apache POI 踩坑:setFontFamily 二次设置字体不生效、样式残留问题深度解析
java·word·apache
jianxuan1 小时前
Spring Boot + Maven 接入 Allatori:从普通打包到可选混淆发布
spring boot·python·maven
不一样的故事1261 小时前
Prompt 工程(Prompt Engineering)
前端·人工智能·python