【发布时间】:2017-04-05 04:43:15
【问题描述】:
我在 Java 中使用 Vert.x Core 3.3.3 和 Web 3.3.3 作为 EventBus 服务器,并在 Javascript 的 Web 客户端上使用 Vert.x 2.0.0 和 SockJS 1.1.1 来连接到 EventBus。我已连接,能够发送和接收消息,并且所有入站和出站流量都是开放的。一切正常。
当客户端连接时,我的服务器能够获取每个 EventBus 连接的主机和端口。这来自 Java 中 SockJSHandler 的桥接事件,通过 socket().remoteAddress() 格式为“host:port”。
在 Web 客户端,是否有获取 EventBus SockJS 连接到我的 Vert.x 服务器的 EventBus 的远程地址(服务器的主机和端口)的功能?我查看了 Vert.x Web Client (http://vertx.io/docs/jsdoc/ & https://github.com/vert-x3/vertx-web) 的文档,但没有发现任何有用的东西。
如果您需要更多信息,请告诉我。提前致谢。
编辑 1:
我误解了我在原始问题中实际寻找的内容,并且措辞不佳。当我建立连接时,我知道 EventBus 的主机和端口是什么(即 var eb = new EventBus('localhost:8080/eventbus'); 正如@Paulo 所说)。
我实际上正在寻找的是我的客户端在该 EventBus 上注册的处理程序的主机和端口。如上所述,我可以在服务器端看到这一点。主机作为 IP 地址返回,而不是我在客户端创建 EventBus 连接时传入的地址。并且端口不同,因为为该处理程序(?)建立了一个新的 SockJS 连接。是否可以为我的客户端的 Handler 获取 SockJS 连接的主机和端口,尤其是端口。
【问题讨论】:
标签: javascript vert.x sockjs