Socket.D 网络应用层协议,v2.1.15 发布

有用户说,“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

本次实现框架更新

  • 开放 BrokerListener 的两私有函数级别
  • 添加 分片处理临时方件方案实现(FragmentHandlerTempfile)
  • 添加 ClusterClient 通道线程池复用
  • 添加 Reply 接收到的答复实体(多了 isEnd 方法)
  • 添加 异步发送时错误接收机制
  • 添加 协议时 channel.onOpenFuture() 异常关闭通道处理
  • 调整 原流接收器,更名为流(分流接口与流内部接口)
  • 调整 Broker 转发时,增加会话有效性检测
  • 修复 小文件上传时出现 MappedByteBuffer:array 异常
  • 优化 RunUtils 线程数使用
  • 优化 分片触发条件
  • 优化 onOpen 监听改造为异步模式(可以在 onOpen 时执行发送并等待)
  • 优化 BrokerListener 对无效会话的过滤

代码仓库

  • https://gitee.com/noear/socketd
  • https://github.com/noear/socketd

你可能感兴趣的:(Socket.D,网络应用协议,socket.d,网络应用层协议,消息包,java)