示例#1
0
 void client_onStatus(HStatus status)
 {
     Debug.WriteLine(">>>client_onStatus: " + status.ToString());
     Debug.WriteLine("--> fulljid : " + client.FullJid);
     Debug.WriteLine("--> resource : " + client.Resource);
     Update_TextBlock_UI(statusScreen, status.ToString());
 }
示例#2
0
        private void notifyStatus(ConnectionStatus status, ConnectionErrors error, string errorMsg)
        {
            connectionStatus = status;
            if (this.onStatus != null)
            {
                HStatus hstatus = new HStatus();
                hstatus.SetStatus(status);
                hstatus.SetErrorCode(error);
                hstatus.SetErrorMsg(errorMsg);

                IAsyncAction threadPoolWorkItem = ThreadPool.RunAsync(
                    (source) =>
                {
                    this.onStatus(hstatus);
                }
                    );
            }
        }
 void socketIO_Message(object sender, MessageEventArgs e)
 {
     if ("hStatus".Equals(e.Message.Event, StringComparison.OrdinalIgnoreCase))
     {
         if (e.Message.Json.Args != null)
         {
             JObject data = (JObject)e.Message.Json.Args[0];
             try
             {
                 HStatus status = new HStatus(data);
                 if (connTimeoutTimer != null)
                 {
                     connTimeoutTimer.Cancel();
                     connTimeoutTimer = null;
                 }
                 if (status.GetStatus().Value == ConnectionStatus.CONNECTED)
                 {
                     if (isFullJidSet)
                     {
                         updateStatus((ConnectionStatus)status.GetStatus(), (ConnectionErrors)status.GetErrorCode(), status.GetErrorMsg());
                     }
                 }
                 else
                 {
                     updateStatus((ConnectionStatus)status.GetStatus(), (ConnectionErrors)status.GetErrorCode(), status.GetErrorMsg());
                 }
             }
             catch (Exception ex)
             {
                 Debug.WriteLine("{0} : {0} exception caught.", ex);
                 if (connTimeoutTimer != null)
                 {
                     connTimeoutTimer.Cancel();
                     connTimeoutTimer = null;
                 }
                 socketIO.Close();
                 updateStatus(ConnectionStatus.DISCONNECTED, ConnectionErrors.TECH_ERROR, ex.Message);
             }
         }
     }
     else if ("hMessage".Equals(e.Message.Event, StringComparison.OrdinalIgnoreCase))
     {
         if (e.Message.Json.Args != null)
         {
             JObject data = (JObject)e.Message.Json.Args[0];
             try
             {
                 if (connTimeoutTimer != null)
                 {
                     connTimeoutTimer.Cancel();
                     connTimeoutTimer = null;
                 }
                 onData(e.Message.Json.Name, data);
             }
             catch (Exception ex)
             {
                 Debug.WriteLine("{0} : {0} exception caught.", ex);
                 if (connTimeoutTimer != null)
                 {
                     connTimeoutTimer.Cancel();
                     connTimeoutTimer = null;
                 }
             }
         }
     }
     else if ("attrs".Equals(e.Message.Event, StringComparison.OrdinalIgnoreCase))
     {
         if (e.Message.Json.Args != null)
         {
             JObject data = (JObject)e.Message.Json.Args[0];
             try
             {
                 options.FullUrn = data["publisher"].ToString();
                 isFullJidSet    = true;
                 if (connStatus != ConnectionStatus.CONNECTED)
                 {
                     updateStatus(ConnectionStatus.CONNECTED, ConnectionErrors.NO_ERROR, null);
                 }
             }
             catch (Exception ex)
             {
                 Debug.WriteLine("{0} : {0} exception caught.", ex);
             }
         }
     }
 }