我尝试使用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被捕获在库代码中。 但我可以使用这个插座吗?即使回调中没有异常,它也是空的。
答案 0 :(得分:0)
如果您要连接的服务器拒绝与响应代码(HTTP样式,即405)的连接。然后,服务器在尝试连接期间基本上关闭了连接。
这不会引发异常,因为没有超时或网络问题。此外,没有返回websocket,因为服务器不允许建立连接。
答案 1 :(得分:0)
我有同样的问题,其中一个解决了这个问题。 如果您使用XAMPP启动Apache和Tomcat。 在定义系统中的Tomcat版本时,在war文件中导出服务器项目。 仔细检查您为websocket选择的端口和IP。