Socket.D v2.5.11

客户端会话的单连与多连(集群)

</> markdown

(以 Java 为例)

1、单连与多连

  • 单连(单 server 地址)
ClientSession session = SocketD.createClient("sd:ws://127.0.0.1:8602/?u=a&p=2").open();

//单连接返回的是 Session (有更多的功能接口)
  • 多连(多 server 地址)
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").open();
                            
//多连接返回的是 ClusterClientSession (有更多的功能接口)

ClientSession 接口,算是 Session 和 ClusterClientSession 的最小公约数。是缺失一些功能的。

2、单连转换

Session session = (Session)SocketD.createClient("sd:ws://127.0.0.1:8602/?u=a&p=2").open();

//获取远程地址
session.remoteAddress();

//获取握手信息
session.handshake();

//获取获取属性
session.attr(name);

3、多连转换(集群)

ClusterClientSession sessoin = (ClusterClientSession)SocketD.createClusterClient("sd:tcp://127.0.0.1:8602", 
                            "sd:tcp://127.0.0.1:8603", 
                            "sd:tcp://127.0.0.1:8604").open();
                            
//获取所有会话
session.getSessionAll()

//获取一个会话(轮询负栽均衡)
session.getSessionOne();

//单发
session.send(event, entity)
//广发
for(Sesson s1: session.getSessionAll()){
    s1.send(event, entity)
}

相对 ClientSession 接口,多了 getSessionAll()getSessionOne()