koush AndroidAsync webSocket nullpointerexception

时间:2015-04-10 08:05:47

标签: 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。 nullpointerexception被捕获在库代码中。 但我可以使用这个插座吗?即使回调中没有异常,它也是空的。

2 个答案:

答案 0 :(得分:0)

如果您要连接的服务器拒绝与响应代码(HTTP样式,即405)的连接。然后,服务器在尝试连接期间基本上关闭了连接。

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

答案 1 :(得分:0)

我有同样的问题,其中一个解决了这个问题。 如果您使用XAMPP启动Apache和Tomcat。 在定义系统中的Tomcat版本时,在war文件中导出服​​务器项目。 仔细检查您为websocket选择的端口和IP。