android - koush AndroidAsync webSocket 空指针异常

标签 android androidasync-koush

我尝试使用 AndroidAsync 库。这是一个代码示例:

    AsyncHttpClient.getDefaultInstance()
            .websocket(url, null, new AsyncHttpClient.WebSocketConnectCallback() {
                @Override
                public void onCompleted(Exception ex, WebSocket webSocket) {
                    Log.i(LOG_TAG, "onCompleted");
                    if (ex != null) {
                        Log.e(LOG_TAG, "ex != null");
                        Log.e(LOG_TAG, ex.toString());
                        ex.printStackTrace();
                        return;
                    }

                    if (webSocket == null) {
                        Log.e(LOG_TAG, "1 webSocket == null");
                    } else {
                        Log.w(LOG_TAG, "1 webSocket != null");
                    }

                    webSocket.setStringCallback(new WebSocket.StringCallback() {
                        public void onStringAvailable(String s) {
                            Log.i(LOG_TAG, "setStringCallback");
                            System.out.println("I got a string: " + s);
                        }
                    });'

在我的例子中,ex == null 但 webSocket == null。空指针异常在库代码中被捕获。 但是我可以使用这个 socket 吗?看起来很奇怪,即使在回调中没有异常它也是空的。

最佳答案

如果您要连接的服务器拒绝连接并返回响应代码(HTTP 样式,即 405)。然后服务器实际上在尝试连接期间关闭连接。

这不会引发异常,因为没有超时或网络问题。此外,没有返回 websocket,因为服务器不允许建立连接。

关于android - koush AndroidAsync webSocket 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29556338/

相关文章:

android - 来自 BLE112 的状态代码 132 和 133

java - 为什么在 java 或 android 中需要 @Override?

android - 如何使用 ionic 3 中的特定联系人从其他应用程序打开 Whatsapp 应用程序?

java - 如何为 AndroidAsync Websocket 设置超时?

java - AndroidAsync websockets 不工作

带有查询字符串参数的 AndroidAsync socket.io 连接

java - 我如何从 LatLng 获得邻居

java - Android在其他类的数组上获取特定值

java - 如何检查 WebSocket 是否已连接