连接时高速公路Android的Websocket崩溃

时间:2018-08-09 20:09:34

标签: android websocket autobahn

在android studio 3.1.2中,我在gradle中的config下面添加:

Workbook_BeforeClose

并调用以下代码以连接websocket网址:

dependencies {
    ...
    implementation 'io.crossbar.autobahn:autobahn-android:18.5.+'
}

观察者看起来像:

public void connect(String url) {
    WebSocketConnection ws = new WebSocketConnection();
    WebSocketObserver observer = new WebSocketObserver();
    try {
        ws.connect(url,observer);
    } catch (WebSocketException e) {
        e.printStackTrace();
    }
}

当我使用echo测试服务器时:

 private class WebSocketObserver implements IWebSocketConnectionHandler {    
        @Override
        public void onConnect(ConnectionResponse response) {
            Log.d(TAG, "WebSocket onConnect: " + response);
        }
        @Override
        public void onOpen() {
            Log.d(TAG, "WebSocket connection opened");

        }
        @Override
        public void onClose(int code, String reason) {
            Log.d(TAG, "WebSocket connection closed. Code: " + code + ". Reason: " + reason + ". State: "
                    + reason);

        }
        @Override
        public void onMessage(String payload) {
            Log.d(TAG, "onMessage WSS->C: " + payload);
        }
        @Override
        public void onMessage(byte[] payload, boolean isBinary) {

        }
        @Override
        public void onPing() {

        }
        @Override
        public void onPing(byte[] payload) {

        }
        @Override
        public void onPong() {

        }
        @Override
        public void onPong(byte[] payload) {

        }
        @Override
        public void setConnection(WebSocketConnection connection) {

        }
    }
}

它工作正常。

但是当我使用下面的测试服务器时:

wss://echo.websocket.org

以下崩溃发生:

wss://apprtc-ws.webrtc.org:443/ws

我确定两个wss URL均有效,但不确定为什么第二个URL导致崩溃!

0 个答案:

没有答案