Socket.d

Latest version: v2.5.7

Safety actively analyzes 640296 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 11 of 11

2.0.13

* 添加 Entity::getDataAsString 缓存处理,读一次可以复用
* 添加 Server::title 接口。用于第三方集成时打印
* 添加 Session 获取路径和参数的接口。缩短获取路径
* 添加 通道与会话关键点的 debug 日志
* 添加 双向 sendAndRequest 二重循环互调支持
* 添加 config::channelExecutor,取消原有执行器概念
* 优化 bio 在重启时,弃用之前已停的线程池。避免重启时还不能用
* 优化 queryString, metaString 解码实现
* 优化 SocketdTimeoutException 时,添加时间信息
* 优化 Client::open,打开时同步原始通道与客户通道的握手信息
* 优化 签复接收改为异步模式,避免卡住Io线程
* 优化 onMessage 事件转发改为异步模式,避免卡住Io线程
* 优化 sendAndRequest 失败时的异常提示
* 优化 websocket 附件获取通道的方式,避免出现通道为 null 的可能
* 调整 原接口工厂概念改为接口提供者概念
* 调整 SocketD.createServer 参数改为 string。调整配置的方式,改成为 client 相同

2.0.12

* 添加 Handshake::getScheme 接口
* 添加 Handshake::getPath 接口
* 添加 Session:reconnect 手动重链接口
* 添加 Entity:getDataAsBytes 接口
* 添加 ClientConfigHandler,ServerConfigHandler 接口
* 添加 客户端监听器内的 session 手动重连能力(用户可控制关闭时,是否马上重连)
* 添加 "sd:" 协议头支持(方便用户识别协议的区别)
* 添加 idleTimeout 配置支持(默认为 0)
* 添加 三个附助监听器 RouterListener,BuilderListener,RouterListener(简化开发)
* 添加 url 鉴权支持
* 简化 握手与关闭流程
* 优化 Handshake 交互流(有拒绝异常,与超时异常)
* 优化 Processor 接口设计(面向通道,不再面向会话)
* 优化 通道有效检测,增加是否关闭条件
* 取消 Session::sendAndRequest(topic,entity,callback) 请求异步回调模式接口(感觉,宜少不宜多)

2.0.7

* 调整 服务端默认端口改为 8602(用的时候一般都是自己指定)
* 调整 服务端帧流:先 s::onOpen() 后 s(Connack),以增加 url 签权支持
* 调整 SocketD.createServer, SocketD.createClient 失败提示语
* 调整 Config::peplyTimeout() 改名为 replyTimeout(之前名字写错了)
* 添加 Session::sendAndRequest(topic,entity,callback) 请求异步回调模式接口
* 优化 通道附件的线程安全问题

2.0.6

SocketD 是一个基于连接的、可扩展的、消息驱动的传输协议。具有异步,背压流控,双向通讯,多路复用,断线重连,支持签权,基于主题消息等特性。

* 具有语言无关性的二进制通信协议(支持 tcp, ws, udp)
* 异步非阻塞消息驱动通信
* 可以进行流量控制、自动连接恢复
* 支持双向通信(如:单链接双向 RPC 接口调用)
* 更加适合分布式通信场景
* 支持 ssl,支持国密 ssl
* 消息有由元信息和数据组成,通过元信息实现可扩展性
* 自动分片(数据超出 16Mb,会自动分片、自动重组)
* 接口简单




适用场景:

可用于 MSG、RPC、IM、MQ,等一些的场景开发,可替代 http, websocket, grpc 等一些协议。比如移动设备与服务器的连接,比如一些微服务场景等等。


协议格式:

* codec


[len:int][flag:int][sid:str(<64)][\n][topic:str(<512)][\n][metaString:str(<4k)][\n][data:bts(<16m)]


* flag

| Flag | Server | Client | 备注 |
|-----------|------------------------------|------------------------------|--------------|
| Unknown | ::close() | ::close() | |
| Connect | / | c(Connect)->s | |
| Connack | s(Connack),s::c.onOpen()->c | s(Connack)->c::onOpen() | |
| Ping | / | c(Ping)->s | |
| Pong | s(Pong)->c | / | |
| Close | s(Close)->c | c(Close)->s | 用于特殊场景(如:T人) |
| Message | s(Message)->c | c(Message)->s | |
| Request | s(Request)->c(Reply)->s | c(Request)->s(Reply)->c | |
| Subscribe | s(Subscribe)->c(Reply?..)->s | c(Subscribe)->s(Reply?..)->c | |
| Reply | s(Reply)->c | c(Reply)->s | |
| ReplyEnd | s(ReplyEnd)->c | c(ReplyEnd)->s | 结束答复 |

Page 11 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.