Socket.D 网络应用协议,v2.1.6 发布
有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”
与其它协议的简单对比
对比项目 | socket.d | http | websocket | rsocket | socket.io |
---|---|---|---|---|---|
发消息(Qos0) | 有 | 无 | 有 | 有 | 有 |
发送并请求(Qos1) | 有 | 有 | 无 | 有 | 无 |
发送并订阅 | 有 | 无 | 无 | 有 | 无 |
答复或响应 | 有 | 有 | 无 | 有 | 无 |
单连接双向通讯 | 有 | 无 | 有(不便) | 有 | 有(不便) |
数据分片 | 有 | / | 无 | 有 | 有 |
断线自动重连 | 有 | / | 无 | 有 | 有 |
有元信息 | 有 | 有 | 无 | 有 | 无 |
有事件(或路径) | 有 | 有 | 无 | 无 | 有 |
有流(或消息关联性) | 有 | 无 | 无 | 有 | 无 |
Broker 模式集群 | 有 | 无 | 无 | 有 | 无 |
异步 | 异步 | 同步 | 异步 | 异步 | 异步 |
接口体验 | 经典 | 经典 | 经典 | 响应式(复杂) | 经典 |
基础传输协议 | tcp, udp, ws | tcp | http | tcp, udp, ws | ws |
本次更新
- 开放 FragmentSize 可配置
- 添加 Channel::onError 方法(属于内部调整)
- 添加 ChannelSupporter 接口,并简化 Channel 构造函数(属于内部调整)
- 添加 SessionWrapper 包装类(便于监视会话的支行)
- 添加 集群客户端接口及创建方式 SocketD.createClusterClient()
- 统一客户端与集群客户端接口
- 统一客户端会话与集群客户端会话接口
新的集群客户端对比示例:
//单机客户端 ClientSession sessoin = SocketD.createClient("sd:tcp://127.0.0.1:8602") .listen(new EventListener().on("hello", (s, m) -> { System.out.println(m); })) .open(); //集群客户端 ClientSession sessoin = SocketD.createClusterClient("sd:tcp://127.0.0.1:8602", "sd:tcp://127.0.0.1:8603", "sd:tcp://127.0.0.1:8604") .listen(new EventListener().on("hello", (s, m) -> { System.out.println(m); })) .open();
Brokeer 集群示例:
public class Demo07_Broker { public static void main(String[] args) throws IOException { //创建 broker 服务 SocketD.createServer("sd:tcp") .config(c -> c.port(8602).fragmentHandler(new BrokerFragmentHandler())) .listen(new BrokerListener()) .start(); //创建服务并加入 broker 集群 SocketD.createClient("sd:tcp://127.0.0.1:8602/?@=server") .listen(new EventListener().on("hello", (s, m) -> { System.out.println("Server0: " + m); if (m.isSubscribe() || m.isRequest()) { s.replyEnd(m, new StringEntity("me to!" + m.dataAsString())); } })) .open(); } }
代码仓库

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Redisson 3.25.0 发布,官方推荐的 Redis 客户端
Redisson 3.25.0现已发布,这是一个 Java 编写的 Redis 客户端,具备驻内存数据网格(In-Memory Data Grid)功能,并获得了 Redis 的官方推荐。 此版本更新内容如下: Feature ESP3 协议支持。添加协议设置 Spring Data Redis 3.2.0 实现 PRO版本中添加的 RSetCacheV2、RSetV2 对象,在 Cluster 中具有更有效的分区 Improvement SLF4j 更新至 2.0.9 版本 Fixed RFunction/RScript keys 参数仅接受字符串值 在具有 SSL 连接的哨兵模式下使用 IP 地址而不是主机名 Version.logVersion() 方法中的资源泄漏 带有 varargs 的 RLiveObjectService.persist() 方法在集群中挂起模式 在某些情况下,Redisson 连接进程可能会在启动时挂起 Redis Cluster 7+ 中的 RMapCache 实例不会调用 EntryExpiredListener 处于哨兵模式的从节点,如果是主节点,...
- 下一篇
ModStartCMS v7.7.0 集成内容区块,文件选择顺序
ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 功能特性 丰富的模块市场,后台一键快速安装 会员模块通用且完整,支持完整的API调用 大文件分片上传,进度条显示,已上传文件管理 强大的模块扩展功能,所有模块可以无缝集成,支持在线安装、卸载模块 完善的开发助手,实现模块、主题的的一键创建 完善的后台权限管理,支持基于RBAC的权限管理系统 后台管理支持使用手机、平板、PC,无论何时何地都可方便管理 第三方登录(QQ、微信、微博、支付宝、微信小程序) 第三方支付支持(微信、支付宝、支付宝当面付、微信扫码、微信小程序) 第三方云存储支持,支持云储存分片上传(阿里云、百度云、华为云、腾讯云、FTP、七牛云、UCloud、又拍云) 第三方短信支持(阿里云、腾讯云、华为云、百度云、253云通讯、聚合、七牛云、融云、赛邮、UCloud、云片、网易云) V7.7.0版本更新 1970年01月01日ModStartCMS Lar...
相关文章
文章评论
共有0条评论来说两句吧...