Socket.D 网络应用协议,v2.1.6 发布
生活随笔
收集整理的這篇文章主要介紹了
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();
}
}
代碼倉庫
- https://gitee.com/noear/socketd
- https://github.com/noear/socketd
總結
以上是生活随笔為你收集整理的Socket.D 网络应用协议,v2.1.6 发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 卖猪肉吸引人技巧
- 下一篇: 东芝电视 Z870MF 上架:Mini