基于事件的(或路径、指令)
事件提供了消息路由的基础,可以极大简化通讯应用开发。也可以把事件想象成 “path”, “cmd” 等,以助理解。
1、事件格式
使用普通的“可见”字符串。格式可以是(但不限):
demo
,demo.test
demo
,demo:test
demo
,demo-test
demo
,demo/test
当然,我们使用得也别太花了!尽量用经典的风格
2、发送事件
发送事件
session.send("mq.subscribe", new StringEntity(""));
session.send("mq.publish", new StringEntity("hi"));
如果你不想要事件,发空事件即可
session.send("", new StringEntity("hi"));
3、监听事件
监听事件(是在 onMessage 事件基础上,基于 event 做的消息路由)
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();
}
}
如果你不想要事件(也可以,总有对你味口的)
public class Server {
public void main(String[] args) throws Throwable {
SocketD.createServer("sd:tcp")
.listen(new EventListener().doOnMessage((s,m)->{
//..
}))
.start();
}
}
更多“监听器”的用法,参考后面的资料。