2016-12-18 21 views
0

私の問題は、私は別のポートまたはサーバーを接続する必要があります! WebSocketサーバー(localhost:8080)クライアントサーバー(localhost:ランダム) (WebSocketハンドシェイク中にエラーが発生しました:予期しない応答コード:403) why ??私は疲れています...クライアントサーバー(localhost:8082)とwebsocket(localhost:8080)を接続できますか?

私はすでに同じポートを試して、私は成功することができます! クライアント(localhost:8080)とwebsocekt(localhost:8080)を接続できます。

(サーバー側:java sts、tomcat 8.0)を使用してwebsocketを使用したいと思います。

質問 1. websocketは同じサーバーとポートしか接続できません。 2.できますか?問題がありますか?

答えて

0

インポートorg.springframework.web.socket.config.annotation.EnableWebSocketを拡張します。 import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; enter code here @Configuration @EnableWebSocket パブリッククラスWebSocketConfigがWebSocketConfigurer {enter code here @Override公共ボイドregisterWebSocketHandlers(WebSocketHandlerRegistryレジストリ){ registry.addHandler(はmyHandler()、 "/myHandler").setAllowedOrigins("*")を実装します。 } enter code here @Bean公共WebSocketHandlerはmyHandler(){(新しいMyHandlerというを返す )。 }

}

0

これは、CORS https://en.wikipedia.org/wiki/Cross-origin_resource_sharingに関連しているような音。 私はあなたが言及しなかったとして、あなたは春用WebSocketを使用していると仮定。

あなたが例以下のようにあなたのWebSocketの設定クラスで同一生成元ポリシーを無効にする必要があります、

@Configuration publi CクラスWebSocketSecurityConfigはAbstractSecurityWebSocketMessageBrokerConfigurer {

@Override 
protected void configureInbound(MessageSecurityMetadataSourceRegistry messages) { 

} 

@Override 
protected boolean sameOriginDisabled() { 
    //disable CSRF for websockets 
    return true; 
} 
+0

私はあなたのクラス(WebSocketSecurityConfig)を挿入することができます! –

+0

私はあなたのクラス(WebSocketSecurityConfig)を挿入することができます!しかし.. java.lang.NoClassDefFoundErrorを引き起こす:org/springframework/security/messaging/access/intercept/ChannelSecurityInterceptor error ...私はセキュリティについてのサーブレットを設定する方法を知らない... .. –

+0

セキュリティメッセージングの依存関係を追加するあなたのPOM –

関連する問題