会话的详细接口，请参考：[《监听与会话》](/article/718)

### 1、单服务端时


```java
ClientSession sessoin = SocketD.createClient("sd:tcp://127.0.0.1:8602")
        .listen(new EventListener().doOn("hello", (s, m) -> {
            System.out.println(m);
        }))
        .open();
```

### 2、多服务端时，使用集群客户端

* 原生接口方式

```java
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().doOn("hello", (s, m) -> {
            System.out.println(m);
        }))
        .open();
```

* Ioc 容器管理方式（假代码示意）

```java
@Component
public class ListenerImpl implements Listener{ //内置有多个不同功能的监听器，可借用
    ...
}


@Configuration
public class SocketdConfig{
    @Bean
    public ClientSession clientInit(@Inject("${socketd.serverUrls}") String[] serverUrls, 
                                    @Inject Listener listener){
         return SocketD.createClusterClient(serverUrls)
                       .listen(listener)
                       .open();
    }
}
```