当前位置: 首页 > 知识库问答 >
问题:

垂直。x JavaScript unregisterHandler()和close()未在Java SockJS处理程序中触发BridgeEventType事件

李烨烁
2023-03-14

背景:我正在使用Vert。Java中的x Core 3.3.3和Web 3.3.3作为EventBus服务器和Vert。使用Javascript在web客户端上安装x 2.0.0和SockJS 1.1.1,以连接到Java EventBus。我已连接,能够发送和接收消息,所有入站和出站流量都已打开。一切正常。

在Java方面,我添加了一个SockJSHandler来处理路由到“/eventbus/*”的任何内容,以便我可以处理来自JavaScript客户端的SockJS连接的事件。我能够捕获BridgeEventType,例如BridgeEventType。REGISTER和UNREGISTER以及SOCKET\u正确关闭(除了一个实例,因此出现了这个问题)。例如,当客户端连接到EventBus时,我可以看到它们的主机和端口以及它们注册处理程序的地址。当我刷新或关闭web浏览器中的JavaScript客户端选项卡时,我还可以看到注销或关闭的套接字事件。这一切都很顺利。

问题:我正在尝试手动结束EventBus连接或从JavaScript客户端注销处理程序。我用于执行此操作的命令是:

(背景:变量myEB定义为my vertx EventBus connection,myEB=新的vertx.EventBus(link);这很有效)

迈布。注销处理程序(目标,处理程序);还有myEB。关闭();是我打的电话。

unregisterHandler和close尝试没有在Java EventBus的SockJS处理程序上触发UNREGISTER或SOCKET\u CLOSED事件。

问:如何手动从JavaScript客户端注销处理程序或断开与EventBus的连接(关闭套接字连接),以便我的SockJS处理程序将触发注销或socket\u关闭事件?

编辑1:经过一些测试,JavaScript客户端中的close()调用似乎正在触发SOCKET\u CLOSED事件。unregisterHandler()调用未触发UNREGISTER或SOCKET\u CLOSED事件。

共有1个答案

公孙令秋
2023-03-14

问题解决了。我没有正确捕获事件。SockJS Handler确实触发了这些桥接事件,它们是跟踪事件总线访问的良好候选者。

 类似资料:
  • 我正在努力理解Vert。x framework和我的任务是创建HTTP服务器,该服务器将执行简单的数学计算,并创建一个客户端,该客户端将向该服务器发送多个请求。我需要计算发送所有请求和获得响应所需的时间。我成功地创建了客户机、服务器,并发送请求和检索响应,但在衡量执行这些操作所需的时间方面存在问题。 我的客户端verticle具有以下方法: 是一个枚举,包含服务器可以执行的所有数学操作。 现在,我

  • 问题内容: 我有一个用jQuery 方法动态生成的with : 包含一些输入元素,它们被加载到modal中。 使用jQuery的方法,我可以在事件触发后捕获输入值,但是当将元素动态添加到模式div时,当用户输入文本时事件不会触发。 哪种jQuery方法支持处理由动态创建的元素触发的事件? 用于创建新输入元素的代码为: 捕获用户值的代码是: 第二个代码块似乎适用于原始元素,但不会由新的动态生成的元素

  • 问题内容: 当输入框处于焦点状态时,不会调用该函数。 我包含在文件中,它是在 jQuery是v1.10.2版和Angular.js是v1.0.7版之前。 可能会发生什么? 问题答案: ngFocus在Angular 1.0.7上不可用。在Angular 1.2上可用。 您可以创建自己的ngFocus指令,这非常简单,请在此处查看: https://gist.github.com/eliotsyke

  • 使用jQuery-1.9.1。js和jQueryMobile 1.3.1(Chrome 26/Windows 7)我不明白为什么这些“点击”事件绑定到#一个触发,而另一个没有: 超文本标记语言: JavaScript: 当我在JSFiddle中运行它时,两个事件都会在没有包装在“mobile einit”事件中时触发:http://jsfiddle.net/9NRwa/ 我错过了什么?

  • 我似乎找不到每一行的控件。这些行是用addrow()方法添加的,该方法非常有效,只需要一些化妆品。我的目标是在更改select选项时获取行中每个控件的值。但是,该函数从未启动,我无法获得该行的控制值。 超文本标记语言 JQuery