Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vert.x EventBus客户端SockJS获取主机和连接端口_Javascript_Vert.x_Sockjs - Fatal编程技术网

Javascript Vert.x EventBus客户端SockJS获取主机和连接端口

Javascript Vert.x EventBus客户端SockJS获取主机和连接端口,javascript,vert.x,sockjs,Javascript,Vert.x,Sockjs,我正在使用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”格式实现

我正在使用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.xWeb客户端(&)的文档,但没有发现任何有用的东西

如果你需要更多信息,请告诉我。提前谢谢

编辑1:

我误解了我在最初的问题中真正想要的是什么,措辞很糟糕。当我建立连接时,我知道EventBus的主机和端口是什么(即var eb=new EventBus('localhost:8080/EventBus');正如@Paulo所说)


我实际上寻找的是我的客户机在该事件总线上注册的处理程序的主机和端口。我可以在上面提到的服务器端看到这一点。主机作为ip地址返回,而不是我传入的在客户端创建EventBus连接的地址。端口不同,因为为该处理程序创建了一个新的SockJS连接(?)。是否可以为我的客户端处理程序获取SockJS连接的主机和端口,特别是端口。

您想要的信息是您已经知道的。从客户端web应用程序创建eventbus连接时,您需要执行以下操作:

var eb = new EventBus('http://localhost:8080/eventbus');
如您所见,必须传递给构造函数的参数包含您想要知道的内容:

localhost:8080
大多数情况下,您不希望使用硬编码的主机名+端口,而是希望使用提供html的位置,因此在JavaScript中,您只需执行以下操作:

window.location.host

这将为您提供服务器运行的位置。

服务器的位置与连接到EventBus的SockJS处理程序的位置不同。例如:我建立了到localhost:8080的连接,正如您上面所描述的。但是,我分配给EventBus的处理程序连接到另一个端口。我可以通过上面描述的方式在服务器端看到这一点。在本例中,服务器端的客户端地址返回为xxx.xx.xx.xxx:36138。我想知道我是否可以得到这个地址(特别是我的SockJS端口)作为服务器和客户端之间的唯一参考。我相信我最初的问题是误导性的,解释得不够清楚。正如@Paulo提到的,我在连接时有EB连接主机和端口。我真正想要的是我在该EB上注册的客户机处理程序的主机和端口。我会更新这个问题。