问题标签 [java-websocket]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Java 关闭 websocket 连接
如何使用 Java WebSocket API 关闭 websocket 连接?我已经将 Java websocket API 用于服务器和客户端端点。该应用程序运行良好。但我不知道如何在主线程结束之前关闭 websocket。
这是我的 ClientEndpoint
我使用以下代码启动 ClientEndPoint
PS:我没有使用过 JavaScript。
java-websocket - 在没有 Web 服务器的情况下使用 Java Websocket API 实现
是否可以在 Java 中实现自定义 WebSocket 应用程序,而不必在 GlassFish、Tomcat、Jetty 等 Web 服务器上运行它?
我打算开发一个非常定制的应用程序,并希望实现我自己的方式来管理线程、监控、负载平衡、消息传递和类似的东西。(与例如 Java TCP 的 ServerSocket 相比)我知道有 Tyrus 容器,例如用于独立服务器和 Servlet 支持的 Grizzly 集成,这里还有 Jetty,但我不确定这是否是我正在寻找的。Grizzly 或 Jetty 本身可能是一个独立的解决方案吗?我知道 Tyrus 是 Grizzly WebSocket 实现的某种包装器,但老实说,我不确定这两者是如何相互连接的。
任何建议都非常受欢迎!谢谢!
java - Web Socket 客户端在 Tomcat 中不起作用
我正在尝试在 Tomcat 的上下文中运行 Web 套接字客户端。所以场景是,我在 Tomcat 上部署了一个 Websocket 服务器端点,作为 App-1 的一部分。App-2 也部署在 Tomcat 上(显然在不同的上下文根下),想要发送消息。
App-2 中的类工作正常,如果我将它作为一个独立的主方法运行。但是当它在tomcat的上下文中运行时,它会给出以下错误。(我使用 Tyrus 1.9 作为 JSR-356 impl)
上面的异常在这一行被抛出:
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
有关如何解决此问题的任何建议都将非常有帮助。
javascript - 是否可以使用 WebSocket 握手发送自定义数据?
假设我有自己的基于Java Chromium Embedded Framework (JCEF)的自定义 Web 浏览器,它在内部运行 WebSocket 服务器。
现在我的 Web 应用程序在我的 CustomWebBrowser 上运行,可以使用 websockets 与内部 WebSocket 服务器连接。
但是,我不希望任何其他 websocket 客户端(使用 websockets 的其他浏览器或桌面应用程序)连接到我的内部 WebSocket 服务器。
执行此操作的方法之一是执行以下步骤:
- 让 CustomWebBrowser 生成一个秘密并使用Java-JavaScript 桥将该秘密从 JCEF 发送到 Web 应用程序。
Web 应用程序将在握手期间将该秘密发送到内部 WebSocket 服务器,如下所示:
var ws = new WebSocket(myURL, protocols, mySecret);
内部 WebSocket 服务器可以使用在步骤 1 中生成并发送秘密的 CustomBrowser 来验证秘密。
如果密码被验证,则握手成功完成,否则 websocket 连接被拒绝。
我的问题是:是否可以在 websocket 握手期间发送任何自定义数据?
java - Spring-Websocket:满足条件时向订阅者发送更新
我在 Spring @Controller 上有以下方法:
即使操作不成功(operationResult.success == false),这也会向所有订阅者发送更新。
注意: OperationResult 有一个名为“success”的布尔字段来指示操作是否成功。
问题: 我想了解如何仅在操作成功(不抛出异常)的情况下向订阅者发送更新,并确保发送评论的客户端始终获得operationResult
android - 如何在具有多个活动的 android 应用程序上使用 Pusher?
我们有这个 android 应用程序,我们使用 Pusher 将实时更新从我们的服务器中继到 android 客户端。
问题是,如果我们将以下代码片段添加到所有活动页面,Pusher 会为每个页面打开一个新的 Web 套接字。
如何与 pusher 建立一个连接并将其用于我们所有的活动?
java - 如何注册端点监听器?
我正在使用 grails 3.0.9 ,使用 javax.websocket 创建聊天应用程序。
这是我的代码...
这是我的控制器..
聊天控制器.groovy
这是我的普惠制
索引.gsp
我不知道..我无法连接到端点...
我已经读过这个问题grails javax.websocket 问题
但我使用 grails 3.0.9,它看起来不同,因为在 grails 3.0.9 下没有带有“脚本”的文件夹
android - 如何在客户端实现连接故障转移
我正在尝试在 android 应用程序中实现连接故障转移。基本上我有应用程序使用 websocket 连接的 URL 列表,如果无法连接任何 url,我需要尝试第二个连接。我用来在 android 端与 websocket 连接的 API 不是同步的。因此,当我在执行此方法后开始连接到 websocket 时,我不知道是否建立连接,直到调用 OnOpen 方法,然后我在那里设置了一些布尔值以供进一步使用。
我尝试了什么:我想到的一个解决方案是开始从线程调用 connect 方法,如果在时间跨度内调用 OnOpen 方法可以,则将其休眠一段时间,否则尝试使用第二个连接 url。
有人可以给我提示我如何解决这个问题。这是一个示例代码(没有线程实现):
公共无效连接WebSocket(){
websocket - Cometd - Websocket 实时打开/活动连接数
我们使用 cometd 3.0.1 在生产中运行 jetty 9.2.9。
我们试图了解系统在任何给定时间点的当前负载并估计其最大规模。
请提出实现相同目标的最佳方法。
我尝试了不同的方法,例如监听元通道并记录每条传递的消息和关闭的每个通道。但这看起来不是一个好方法,因为它每次都必须触及元通道,而且它还可能会减慢跨通道传递的消息。
谢谢!