我尝试使用 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/