| | |
| | | import io.reactivex.netty.channel.ObservableConnection; |
| | | import rx.Observable; |
| | | import rx.Subscriber; |
| | | import rx.android.schedulers.AndroidSchedulers; |
| | | import rx.functions.Action1; |
| | | import rx.functions.Func1; |
| | | import rx.schedulers.Schedulers; |
| | |
| | | |
| | | private void reConnect() { |
| | | if (isDestroy) { |
| | | // String s = CacheUtil.get().getAsString("reConnect"); |
| | | // s = s + "###"+ "server已死"; |
| | | // CacheUtil.get().put("reConnect",s); |
| | | return; |
| | | } |
| | | //reconnect |
| | | // String s = CacheUtil.get().getAsString("reConnect"); |
| | | // s = s + "###"+ "倒计时3秒"; |
| | | // CacheUtil.get().put("reConnect",s); |
| | | |
| | | Observable.timer(3, TimeUnit.SECONDS).subscribe(new Action1<Long>() { |
| | | @Override |
| | | public void call(Long aLong) { |
| | | // String s = CacheUtil.get().getAsString("reConnect"); |
| | | // s = s + "###"+ "倒计时结束"; |
| | | // CacheUtil.get().put("reConnect",s); |
| | | if (mConnection != null) { |
| | | mConnection.close(); |
| | | mConnection = null; |
| | | } |
| | | |
| | | Log.i("CoreService", "sendHeart_websocket长连接断开,重新连接"); |
| | | connectServer(); |
| | | } |
| | | |
| | | @Override |
| | | protected void finalize() throws Throwable { |
| | | super.finalize(); |
| | | } |
| | | }); |
| | | Observable.timer(3, TimeUnit.SECONDS) |
| | | .subscribeOn(Schedulers.io()) |
| | | .observeOn(AndroidSchedulers.mainThread()) |
| | | .subscribe(new Action1<Long>() { |
| | | @Override |
| | | public void call(Long aLong) { |
| | | if (mConnection != null) { |
| | | mConnection.close(); |
| | | mConnection = null; |
| | | } |
| | | Log.i("CoreService", "sendHeart_websocket长连接断开,重新连接"); |
| | | connectServer(); |
| | | } |
| | | }, new Action1<Throwable>() { |
| | | @Override |
| | | public void call(Throwable throwable) { |
| | | throwable.printStackTrace(); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |