Closed JerryChaox closed 5 years ago
你用的RxJava1,还是RxJava2版本?
com.dhh:websocket2:2.1.4'如何实现手动取消连接,别自动连接 这种: 有些需求要手动关闭它 Config config = new Config.Builder().setClient(new OkHttpClient().newBuilder() .pingInterval(2, TimeUnit.SECONDS).build() ).setShowLog(true, "test_websocket").build(); RxWebSocket.setConfig(config); //处理有时候,加载过慢,url为空闪退问题 webSocketInfoObservable = RxWebSocket.get("wss://chattest.xxxxx.com"); webSocketInfoObservable.as(RxLifecycleUtils.bindLifecycle(getLifecycleOwner())) .subscribe(new WebSocketSubscriber() {
@Override
protected void onMessage(String messageInfo) {
Log.e("messageInfo", "messageInfo==" + messageInfo);
onMessageResponse(messageInfo);
}
@Override
protected void onMessage(ByteString byteString) {
super.onMessage(byteString);
Log.e("messageInfo", "byteString==" + byteString.toString());
}
@Override
public void onError(Throwable e) {
super.onError(e);
Log.e("messageInfo", "onError==" + e.getMessage());
}
@Override
protected void onOpen(WebSocket webSocket) {
mWebSocket = webSocket;
super.onOpen(webSocket);
JSONObject jsonObject = new JSONObject();
jsonObject.put("type", "ping");
WebSocketSetting.setConnectUrl("wss://chattest.xxx.com");
RxWebSocket.send(WebSocketSetting.getConnectUrl(), jsonObject.toJSONString());
MLog.e("-------------------------------", "ping-------------------------");
initDownTimer();
}
@Override
protected void onReconnect() {
super.onReconnect();
Log.e("messageInfo", "onReconnect");
}
@Override
protected void onClose() {
super.onClose();
Log.e("messageInfo", "onClose");
}
});
请查看 issues #50
有时候虽然绑定了Activity的生命周期,但是有时候希望在Activity生命周期内的某一段时间暂时关闭websocket链接