2.4.14 • Published 5 days ago
@noear/socket.d v2.4.14
基于事件和语义消息流的网络应用层协议。
有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”。支持 tcp, udp, ws, kcp 传输。
[len:int][flag:int][sid:str(<64)][\n][event:str(<512)][\n][metaString:str(<4k)][\n][data:byte(<16m)]
主要特性
- 基于事件,每个消息都可事件路由
- 所谓语义,通过元信息进行语义描述
- 流关联性,来回相关的消息会串成一个流
- 语言无关,使用二进制输传数据(支持 tcp, ws, udp)。支持多语言、多平台
- 断线重连,自动连接恢复
- 多路复用,一个连接便可允许多个请求和响应消息同时运行
- 双向通讯,单链接双向互听互发
- 自动分片,数据超出 16Mb(大小可配置),会自动分片、自动重组(udp 除外)
- 接口简单,是响应式但用回调接口
体验效果 (for js-client)
//发送
session.send("/demo/hello", SocketD.newEntity("hi"));
//发送,且获取发送进度(如果有大数据发送,又需要显示进度)
session.send("/demo/upload", SocketD.newEntity(file)).thenProgress((isSend, val, max)=>{
if(isSend){
//获取发送进度
}
});
//发送并请求,且同步等待
let reply = session.sendAndRequest("/demo/hello", SocketD.newEntity()).await();
//发送并请求,且取接收进度(如果有大数据获取,又需要显示进度)
session.sendAndRequest("/demo/download", SocketD.newEntity()).thenProgress((isSend, val, max)=>{
if(!isSend){
//获取接收进度
}
}).thenReply(reply=>{
//异步获取答复
}).thenError(err=>{
//如果有出错?
});
//发送并订阅
let entity = SocketD.newEntity().range(5,5).metaPut("videoId","1");
session.sendAndSubscribe("/demo/stream", entity).thenReply(reply=>{
//异步获取答复(会多次回调)
})
2.4.14
5 days ago
2.4.13
5 days ago
2.4.12
9 days ago
2.4.11
11 days ago
2.4.10
22 days ago
2.4.9
1 month ago
2.4.8
1 month ago
2.4.7
1 month ago
2.4.6
2 months ago
2.4.5
2 months ago
2.4.4
2 months ago
2.4.3
2 months ago
2.4.1
2 months ago
2.4.2
2 months ago
2.4.0
3 months ago
2.3.12
3 months ago
2.3.11
3 months ago
2.3.10
3 months ago
2.3.9-M1
3 months ago
2.3.9
3 months ago
2.3.8
3 months ago
2.3.7
3 months ago
2.3.6-nn
4 months ago
2.3.6
4 months ago
2.3.5
4 months ago
2.3.4
4 months ago
2.3.4-M3
4 months ago
2.3.4-M1
4 months ago
2.3.4-M2
4 months ago
2.3.1-r16
4 months ago
2.3.1-r14
4 months ago
2.3.1-r12
4 months ago
2.3.1-r13
4 months ago
2.3.3-M1
4 months ago
2.3.1-r13-node
4 months ago
2.3.2
4 months ago
2.3.1
4 months ago
2.3.3
4 months ago
2.3.2-M2
4 months ago
2.3.2-M1
4 months ago
2.3.1-r2
4 months ago
2.3.1-r3
4 months ago
2.3.1-r4
4 months ago
2.3.1-r5
4 months ago
2.3.1-r6
4 months ago
2.3.1-r10
4 months ago
2.3.1-r7
4 months ago
2.3.1-r11
4 months ago
2.3.1-r8
4 months ago
2.3.1-r9
4 months ago
2.3.0
4 months ago
2.2.2-r2
4 months ago
2.2.2
4 months ago