Socket.D 网络应用协议,首版发布!
有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”
主要特性
- 基于事件,每个消息都可事件路由
- 所谓语义,通过元信息进行语义描述
- 流关联性,有相关的消息会串成一个流
- 语言无关,使用二进制输传数据(支持 tcp, ws, udp)。支持多语言、多平台
- 断线重连,自动连接恢复
- 多路复用,一个连接便可允许多个请求和响应消息同时运行
- 双向通讯,单链接双向互听互发
- 自动分片,数据超出 16Mb,会自动分片、自动重组(udp 除外)
- 接口简单,是响应式但用回调接口
与其它协议的简单对比
对比项目 | socket.d | http | websocket | rsocket | socket.io |
---|---|---|---|---|---|
发消息(Qos0) | 有 | 无 | 有 | 有 | 有 |
发送并请求(Qos1) | 有 | 有 | 无 | 有 | 无 |
发送并订阅 | 有 | 无 | 无 | 有 | 无 |
答复或响应 | 有 | 有 | 无 | 有 | 无 |
单连接双向通讯 | 有 | 无 | 有(不便) | 有 | 有(不便) |
数据分片 | 有 | / | 无 | 有 | 有 |
断线自动重连 | 有 | / | 无 | 有 | 有 |
有元信息 | 有 | 有 | 无 | 有 | 无 |
有事件(或路径) | 有 | 有 | 无 | 无 | 有 |
有流(或消息关联性) | 有 | 无 | 无 | 有 | 无 |
Broker 模式集群 | 有 | 无 | 无 | 有 | 无 |
异步 | 异步 | 同步 | 异步 | 异步 | 异步 |
接口体验 | 经典 | 经典 | 经典 | 响应式(复杂) | 经典 |
基础传输协议 | tcp, udp, ws | tcp | http | tcp, udp, ws | ws |
简单的协议说明(详见:官网)
- 连接地址风格
sd:tcp://19.10.2.3:9812/path?u=noear&t=1234 sd:udp://19.10.2.3:9812/path?u=noear&t=1234 sd🇼🇸//19.10.2.3:1023/path?u=noear&t=1234
- 帧码结构
//udp only <2k [len:int][flag:int][sid:str(<64)][\n][event:str(<512)][\n][metaString:str(<4k)][\n][data:byte(<16m)]

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
🔥smart-mqtt v0.33 发布,物联网平台的新基座
1、smart-mqtt 简介 smart-mqtt,是 smartboot 组织下面向物联网的首款解决方案,它使用 Java 语言开发,提供高效、可靠的 MQTT Broker 服务。 smart-mqtt 的独特优势在于大量设备接入的情况下,仍能保持低延迟和高吞吐量,满足物联网领域严苛的实时性需求。同时,smart-mqtt 为了最大限度地节省硬件成本,采用了高度优化的资源管理策略,降低了系统运行时的 CPU 和内存占用,使企业在保持高性能的同时,大幅降低运维成本。 另外,mqtt 协议天然适合 IM 场景,需要打造企业级 IM 应用,smart-mqtt 同样是一个非常好的选择。 smartboot 开源组织,一个容易被误认为是在 “重复造轮子” 的低调组织。曾获得2020 年度 OSC 中国开源项目「优秀 Gitee 组织 」荣誉。 该组织内的明星项目包括: smart-socket 历时 5 年精炼出 2 千多行代码,轻松实现百万级长连接的 AIO 通信框架。 smart-http 基于 smart-socket 实现的 HTTP/1.1 web 服务。 smart-serv...
- 下一篇
Apache NetBeans 20.0 发布
Apache NetBeans 20现已正式发布。NetBeans 是一个主要面向 Java 的集成开发环境,同时支持 C/C++、PHP、JavaScript 和其他编程语言。 一些更新内容包括: Gradle 返回所有 loaders 的最高质量#6371 将 Gradle Tooling API 更新到 8.4#6553 不要在每个项目上都要求代理#6558 #6536、#6537:避免堆栈溢出,捕获要下载的丢失工件#6548 删除了一些已失效的 Gradle 设置#6516 修复 wrapper.properties 中的 Gradle 版本更改#6589 尝试在退出时关闭 Gradle 守护进程#6598 当缺少“run”任务时,对“runSingle”更加友好#6618 修复 LSP/Micronaut 测试 + 不要忽略 gradle spi 中的异常#6673 Maven Maven Embedder resolve() 修复#6344 Micronaut 的生命周期参与者在 Micronaut 4.x 中更改了 FQN#6386 当 pom.xml 包含...时,防止...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题