问题标签 [spring-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.

0 投票
1 回答
405 浏览

spring - 找不到 /info Spring 4 websockets 的映射

在 spring 控制器中,如果我使用@MessageMapping它正在工作,但如果我更改为@Requestmapping(value=="",method=RequestMethod.POST)并尝试使用SimpMessagingTemplate将消息发送到客户端,则它无法连接,它显示错误

0 投票
1 回答
4993 浏览

java - 用于 stomp 端点上的自定义 websocket 握手的 Spring Java 配置

我想有这个 XML 配置的等价物(采取Here),但使用 Java 配置:

我的目标是建立一个类,根据一些标准限制到我的 STOMP 端点(即:到他的 websocket)的连接。

我不想使用 XML 来配置我的端点,如何将该片段转换为 Java Config?

0 投票
1 回答
41 浏览

spring - 在没有获取 meaasge 的情况下,如何在 java spring web socket 中向客户端发送消息

我有一个用例,我需要从服务器向客户端 Web 套接字发送消息,因此作为回报,客户端会将客户端信息返回给服务器。我正在尝试在 Web 套接字中执行客户端服务器技术的反向操作,其中客户端将首先调用服务器,服务器将响应该服务器。请有人让我知道如何实现这个用例。

0 投票
1 回答
259 浏览

stomp - 在纯 java spring 中设置 STOMP 客户端

我正在寻找一个 STOMP 示例来在 java spring 中编写服务器和客户端。请有人给我一个很好的简单例子。

0 投票
6 回答
32871 浏览

spring - Wildfly 中的 Spring Boot Websockets

嗨,我需要将 Spring Boot 应用程序部署到 Wildfly 8.1 中,但出现以下异常:

原因:java.lang.RuntimeException: java.lang.ClassCastException: org.apache.tomcat.websocket.server.WsServerContainer 无法在 io.undertow.servlet.core.DeploymentManagerImpl 强制转换为 io.undertow.websockets.jsr.ServerWebSocketContainer。在 org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87) 在 org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72) 部署(DeploymentManagerImpl.java:219)在 org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] 在 org.jboss.msc.service.ServiceControllerImpl $StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final] ... 3 更多原因:java.lang。ClassCastException:org.apache.tomcat.websocket.server.WsServerContainer 无法在 io.undertow.websockets.jsr.Bootstrap$WebSocketListener.contextInitialized(Bootstrap.java:69) 处转换​​为 io.undertow.websockets.jsr.ServerWebSocketContainer。 undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:173) at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:190) ... 还有 7 个DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:190) ... 还有 7 个DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:190) ... 还有 7 个

看来我的 websockets 和消息传递设置可能是罪魁祸首?我在看这个https://github.com/joshlong/boot-examples/issues/2并且提议的解决方案似乎都不适合我。以下是我的 pom 中的依赖项:

我也尝试使用直接的 spring-boot-starter-websocket,但得到了同样的结果。这也是我的 websocket 配置:

感谢您抽时间阅读。我将不胜感激任何帮助。此外,这是我的第一个启动应用程序。:/

0 投票
2 回答
7690 浏览

session - 使用 Websockets 时无法在 Spring Controller 中获取 Session

我正在使用带有 Spring MVC 框架的 Websockets SockJS。我尝试了运行良好的 Stock Ticker 示例,但现在我想在我的控制器中获取 Session 但我无法找到出路。

0 投票
2 回答
25827 浏览

java - Spring Web Socket Java Client

How to Write a Java based Spring Web Socket (STOMP) Client. As in Spring we have only javascript based client is provided using stompJS but if we need a java client how should we need to achive it?

0 投票
3 回答
1646 浏览

spring-mvc - 在 Websocket 会话 Spring MVC 中访问 UserDetails 对象

在 Spring MVC 4 应用程序中通过 websocket 连接发送的调用中,我可以java.security.Principal在将其添加为方法中的参数时获取一个对象。

但是,这基本上只有用户名,我需要UserDetails在登录期间创建的(扩展)对象。

SecurityContextHolder.getContext().getAuthentication()返回null。据我了解,因为 spring 创建了一个特殊的会话来处理 websocket 连接。

问题:有没有办法从 websocket 会话/线程内部访问安全上下文?

(能够访问会话 bean 也足够了)。

0 投票
2 回答
1780 浏览

java - 编写一个没有 SpringBoot 或 Maven/Gradle 的 Spring Web Socket 项目

如何使用 XML 或 Java Config但没有Spring Boot创建Spring Java Web 套接字项目。在哪里可以找到分步教程。我不知道如何在 ecliplse 中使用 spring boot。我也不想使用 gradle 或 maven。我没有找到在eclipse中使用spring boot的教程。由于我是 spring 新手,我无法在没有 maven 或 gradle 的情况下启动项目。如果我需要使用 Eclipse,我需要学习如何在没有任何内置工具的情况下创建一个 spring 项目。这纯粹是为了学习目的。

下面是我用来替换 Spring boot 相关主类的类

AppConfig 类

WebAppInitializer 类

WebSocketConfig 类

其余与spring web socket教程中的相同

0 投票
1 回答
8238 浏览

spring - Spring Stomp @SubscribeMapping("/user/...") with User Destination 不起作用

我需要对用户目标订阅做出反应。

例子:

用户订阅/user/messages,因为他想接收所有传入的消息。现在我想查找该用户的任何消息,这些消息是在他离线时创建的,然后将它们发送给该用户。

工作代码:

客户端代码:

服务器代码:

我需要的:

似乎无法在服务器端捕获用户目标订阅,即:

我尝试了什么:

如果客户订阅了,这有效/app/messages但不会被调用 /user/messages

我的配置:

使用 Spring 4.1。


我无法想象这是不可能的。我错过了什么/做错了什么?

谢谢:)