Пример #1
0
 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);
         }
     });
 }
Пример #2
0
        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();
        }