在 Java Websocket API 客户端中获取响应代码不是 101: 400

ala*_*yor 5 java websocket http-status-code-400 tyrus

我有以下WebSocketJava 客户端代码。

final ClientEndpointConfig cec = ClientEndpointConfig.Builder.create().build();

            ClientManager client = ClientManager.createClient();
            client.connectToServer(new Endpoint() {

                @Override
                public void onOpen(Session session, EndpointConfig config) {
                    try {
                        session.addMessageHandler((MessageHandler.Whole<String>) message -> {
                            System.out.println("Received message: "+message);
                        });
                        session.getBasicRemote().sendText(SENT_MESSAGE);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }, cec, new URI("wss://ws.bitso.com"));
        } catch (Exception e) {
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我收到此错误。

org.glassfish.tyrus.core.HandshakeException: Response code was not 101: 400
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

ala*_*yor 4

我解决了。

我在主机名末尾缺少一个斜杠。

它应该是wss://ws.bitso.com/

  • @ScaryWombat 它可以帮助其他人。 (4认同)