private void OnSocketConnectStateChanged(ConnectCode connectCode) { mConnecting = false; switch (connectCode) { case ConnectCode.Connect: //掉线重连之后 if (LoginController.Instance.LoginUser != null) { "重新登录中...".ToastOnSubThread(); MainActivity.Instance.AddToConsole("重新登录中...", false); mPeer.SendRequest(ESocketParameterTool.NewParameters .AddOperationCode(OperationCode.Login) .AddSubCode(SubCode.Login_SignIn) .AddParameter(ParameterKeys.LOGIN_SIGN_IN_REQUEST, new SignInRequestModel(LoginController.Instance.LoginUser.Username, LoginController.Instance.Password))); } break; case ConnectCode.Disconnect: //正在重连,不需要再次重连 if (mIsReconnecting) { break; } mIsReconnecting = true; //计算心跳超时时间 +3 是加上消息传输时间 var seconds = mPeer.LastSendHeartbeatTime.AddSeconds(ESocketConst.HeartbeatTimeout + 3) .GetDifferenceSeconds(TimeUtil.GetCurrentUtcTime(), true); if (seconds < 0) { Reconnect(); } else { $"{seconds}秒后进行重新连接".ToastOnSubThread(); //延迟执行,等待服务端检测到客户端掉线,关闭Socket Timer.DelayAction(seconds, Reconnect); } break; } }
public void OnConnectStateChanged(ConnectCode connectCode) { MainActivity.Instance.AddToConsole("OnConnectStateChanged:" + connectCode); OnSocketConnectStateChanged?.Invoke(connectCode); }
public void CheckControlCode(ConnectCode code) { ConnectWindowGenTwo.log.Trace("CheckControlCode code = " + code); switch (code) { case ConnectCode.SSID_NOT_MODIFIED: this.modifyWifiSSID(); return; case ConnectCode.SSID_MODIFIED: this.connectAdapter(); return; case ConnectCode.INIT_CHECK_ROURTER_FAIL: this.connectAdapter(); return; case ConnectCode.BEGIN_CHECK_ROUTER: this.BeginCheckControl(); return; case ConnectCode.CHECK_ROUTER_FAIL: this.OnCheckRouterConnected(false); return; case ConnectCode.CHECK_ROUTER_SUCCESS: this.OnCheckRouterConnected(true); return; case ConnectCode.CHECK_ROUTER_SSID_NOT_MODIFIED: this.OnCheckRouterSSIDFinish(false); return; case ConnectCode.CHECK_ROUTER_SSID_MODIFIED: case ConnectCode.BEGIN_CHECK_HOST: case ConnectCode.CHECK_CABLE_SUCCESS: break; case ConnectCode.CHECK_HOST_FAIL: this.OnCheckHostConnect(false); return; case ConnectCode.CHECK_HOST_SUCCESS: this.OnCheckHostConnect(true); return; case ConnectCode.CHECK_CABLE_FAIL: this.OnCheckCabelConnect(false); return; case ConnectCode.CHECK_VR_SUCCESS: this.OnCheckVR(); return; case ConnectCode.SHOW_GUIDE_IMAGE: this.OnShowGuideImage(); break; default: return; } }