private void CheckNetworkStatus() { ThreadPool.QueueUserWorkItem((ob) => { bool netStatus = false; string errMsg; string serverUrl = System.Configuration.ConfigurationManager.AppSettings["serverIP"]; while (true) { netStatus = PingNetwork.GetServerStatus(serverUrl, out errMsg); if (!netStatus) { GlobalVariable.client.IsNetworkOK = false; this.InvokeOnUiThreadIfRequired(() => { GlobalVariable.ShowNotifyMessage(errMsg, 5, "red"); }); } else { GlobalVariable.client.IsNetworkOK = true; } Thread.Sleep(20000); } }); }
public EduTCPClient(ProgramType _programType) { string errmsg = ""; IsNetworkOK = PingNetwork.GetServerStatus(serverIP, out errmsg); if (!IsNetworkOK) { throw new Exception(errmsg); } programType = _programType; client = new EasyClient(); client.Initialize(new MyReceiveFilter(), (response) => { try { string text = StringHelper.GetEnumDescription((CommandType)response.Action); Loger.LogMessage("Receive【" + ((CommandType)response.Action).ToString() + " " + text + " " + response.Action + "】:" + JsonHelper.SerializeObj(response)); OnReveieveData(response); } catch (Exception ex) { Loger.LogMessage(ex.ToString()); } }); if (programType == ProgramType.Student) { OnReveieveData += Student_OnReveieveData; } else { OnReveieveData += Teacher_OnReveieveData; } // client.Error += Client_Error; ConnectToServer(); }