事件提供了消息路由的基础，可以极大简化通讯应用开发。也可以把事件想象成 “path”, “cmd” 等，以助理解。

### 1、事件格式

使用普通的“可见”字符串。格式可以是（但不限）：

* `demo`, `demo.test`
* `demo`, `demo:test`
* `demo`, `demo-test`
* `demo`, `demo/test`

当然，我们使用得也别太花了！尽量用经典的风格

### 2、发送事件

发送事件

```java
session.send("mq.subscribe", new StringEntity(""));
session.send("mq.publish", new StringEntity("hi"));
```

如果你不想要事件，发空事件即可

```java
session.send("", new StringEntity("hi"));
```

### 3、监听事件

监听事件（是在 onMessage 事件基础上，基于 event 做的消息路由）

```java
public class Server {
    public void main(String[] args) throws Throwable {
        SocketD.createServer("sd:tcp")
                .listen(new EventListener().doOn("mq.subscribe", (s,m)->{
                    //..
                }).doOn("mq.publish", (s,m)->{
                    //..
                }))
                .start();
    }
}
```

如果你不想要事件（也可以，总有对你味口的）

```java
public class Server {
    public void main(String[] args) throws Throwable {
        SocketD.createServer("sd:tcp")
                .listen(new EventListener().doOnMessage((s,m)->{
                    //..
                }))
                .start();
    }
}
```

更多“监听器”的用法，参考后面的资料。