有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

与Websocket的java连接

我尝试用SockJS从angular连接到spring boot: 连接到服务器的socket后出现错误:enter image description here

Spring启动配置:

 @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker( "/");
        config.setUserDestinationPrefix("/user");
        // config.setApplicationDestinationPrefixes("/user");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/ws")
                .setAllowedOrigins("http://localhost:4200")
                .setHandshakeHandler(new UserHandshakeHandler())
                .withSockJS();
    }

    @Override
    public boolean configureMessageConverters(List<MessageConverter> messageConverters) {
        DefaultContentTypeResolver resolver = new DefaultContentTypeResolver();
        resolver.setDefaultMimeType(MimeTypeUtils.APPLICATION_JSON);
        MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
        converter.setObjectMapper(new ObjectMapper());
        converter.setContentTypeResolver(resolver);
        messageConverters.add(converter);
        return false;
    }

角度连接:

this.socket = new SockJS(environment.serverUrl + socketPrefix + '?token=' + this.authService.getAccessToken());
    this.stompClient = Stomp.over(this.socket);
    this.stompClient.connect({}, () => {
      this.stompClient.subscribe(hubMethodSubscription.noteTextUpdate,
        (data: any) => { console.error(data); this.observableUpdateNoteText.next(JSON.parse(data.body)); });
      this.stompClient.subscribe(hubMethodSubscription.deleteNoteFromOwner,
        (data: any) => { console.error(data); this.observableDeleteNoteFromOwner.next(JSON.parse(data.body)); });
      this.stompClient.subscribe(hubMethodSubscription.sendNewNotificationKek,
        (data: any) => { console.error(data); });
    });

如果我在前面使用WebSocket,我会得到不正确的工作,只有第一个连接工作


共 (0) 个答案