为了说服一些人从旧学校技术转换,我需要构建一个聊天演示应用程序,使用Java管理超过10K的并发连接(如Node.Js的东西).
我测试了Netty 5.0,这很棒,但需要做很多工作; 另一方面,Jetty 9.3非常棒,但与其他竞争对手相比速度较慢.
经过一番搜索后,我找到了基于Netty的Vert.x 3工具包,有很多很棒的工具(不需要重新发明轮子),我在git中看到了这些例子,我能够构建一个websocket服务器等等.
public void start() throws Exception {
vertx.createHttpServer().websocketHandler(new Handler<ServerWebSocket>() {
@Override
public void handle(ServerWebSocket e) {
// business stuff in the old style not yet lambda
}
}).listen(port);
}
Run Code Online (Sandbox Code Playgroud)
作为Vert.x世界的新手,我无法弄清楚如何管理使用它的连接用户,通常旧的时尚方式是使用类似的东西:
HashMap<UUID,ServerWebSocket> connectedUsers;
Run Code Online (Sandbox Code Playgroud)
建立连接后,检查它是否存在; 如果不是我将它添加为新条目并执行一些功能来发送,广播,通过集合检索等等.
我的问题是Vert.x 3有什么东西可以处理连接以跟踪它们并删除那些离开(乒乓),广播等等,或者我应该从头开始使用cookie,session,....)
我找不到使用Vert.x 3的任何真实例子.