【问题标题】:Basic Spring 4 Websocket application基本 Spring 4 Websocket 应用程序
【发布时间】:2015-11-24 12:51:04
【问题描述】:

我正在尝试构建一个基本的 Hello World Spring websockets 应用程序,但是我似乎无法访问 WebSocket 端点,我错过了什么?

我添加了TextWebSocketHandlerWebSocketConfigurer,还有一个AbstractContextLoaderInitializer,它初始化了一个AnnotationConfigWebApplicationContext,用于扫描包含我的websocket类的包。

websocket 是这样调用的:ws://localhost:8080/client/websocket

是否缺少配置?我不想使用 STOMP 或 socksjs。应用中没有其他配置,可能需要进一步的 Spring 配置?

【问题讨论】:

    标签: spring websocket spring-4 spring-websocket


    【解决方案1】:

    您的配置是否使用@EnableWebSocket 注释进行了注释? 您是否在正确的路径上注册了 WebSockethandler?

    @Configuration
    @EnableWebSocket
    public class WebSocketServerConfiguration implements WebSocketConfigurer {
    
        @Autowired
        protected MyWebSocketHandler webSocketHandler;
    
        @Override
        public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
            registry.addHandler(webSocketHandler, "/as");
        }
    }
    

    【讨论】:

    • 是的,一切都很好。和上面的代码唯一不同的是我没有Autowire,我手动创建了Handler实例:registry.addHandler(new WebSocketHandler(), "/as");
    • 也许您的包裹没有被扫描?尝试在配置文件的构造函数中记录一些内容,以查看它是否在 spring 启动时被初始化。
    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 2015-01-19
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多