【问题标题】:How to fix java.lang.IllegalArgumentException: unexpected url using OKHTTP3如何修复 java.lang.IllegalArgumentException:使用 OKHTTP3 的意外 url
【发布时间】:2019-04-01 01:01:29
【问题描述】:

当我尝试在 Okhttp 中为 Websocket 执行以下代码时,我收到一条错误消息:

原因:java.lang.IllegalArgumentException:意外 url:wws://www.mydomain.com/websocket

String WEBSOCKET_URL = "wws://www.mydomain.com/websocket";
OkHttpClient client = new OkHttpClient.Builder()
                .readTimeout(0,  TimeUnit.MILLISECONDS)
                .build();
        Request request = new Request.Builder().url(WEBSOCKET_URL).build();
        WebSocket webSocket = client.newWebSocket(request, new WebSocketListener() {
            @Override
            public void onOpen(WebSocket webSocket, okhttp3.Response response) {
                Toast.makeText(HomeCoach.this, "Connected to the Websocket server", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onMessage(WebSocket webSocket, String text) {
                super.onMessage(webSocket, text);
            }

            @Override
            public void onMessage(WebSocket webSocket, ByteString bytes) {
                super.onMessage(webSocket, bytes);
            }

            @Override
            public void onClosed(WebSocket webSocket, int code, String reason) {
                super.onClosed(webSocket, code, reason);
            }

            @Override
            public void onFailure(WebSocket webSocket, Throwable t, @Nullable okhttp3.Response response) {
                Toast.makeText(HomeCoach.this, "Error ", Toast.LENGTH_SHORT).show();
            }
        });

【问题讨论】:

    标签: android websocket okhttp3


    【解决方案1】:

    不是 WWS,而是 WSS。将您的网址更改为String WEBSOCKET_URL = "wss://www.mydomain.com/websocket";

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-24
      • 2019-12-23
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 2019-08-29
      相关资源
      最近更新 更多