private void ProcessData(string str, UserSession us) { if (UData.IsValidXml(str)) { DataTable dt = UData.LoadDataTable(UData.LoadXsdText(str), str); Kv kv = new Kv(dt); Ap.MsgQueue.Enqueue(kv); } }
//public DataSet SendSync(string data) public DataSet SendSync(string data) { try { if (SynSocket != null) { if (SynSocket.Connected) { SyncData = new StringBuilder(); int i = SynSocket.Receive(SyncBuffer); while (true) { SyncData.Append(System.Text.ASCIIEncoding.ASCII.GetString(SyncBuffer, 0, i)); if (!SyncData.ToString().Contains("\0")) { i = SynSocket.Receive(SyncBuffer); } else { break; } } if (UData.IsValidXml(SyncData.ToString())) { return(UData.LoadDataSet(SyncData.ToString())); } else { DataSet ds = new DataSet(); return(ds); } } else { return(new DataSet()); } } else { return(new DataSet()); } } catch (Exception ex) { return(new DataSet()); } }
private DataSet SyncDataRecive() { try { userSession.SyncData = new StringBuilder(); int i = userSession.SynSocket.Receive(userSession.SyncBuffer); while (true) { string Unzipdata = UZip.Unzip(System.Text.ASCIIEncoding.ASCII.GetString(userSession.SyncBuffer, 0, i)); userSession.SyncData.Append(Unzipdata); if (!userSession.SyncData.ToString().Contains("\0")) { i = userSession.SynSocket.Receive(userSession.SyncBuffer); } else { break; } } if (UData.IsValidXml(userSession.SyncData.ToString())) { return(UData.LoadDataSet(userSession.SyncData.ToString())); } else { DataSet ds = new DataSet(); return(ds); } } catch (Exception ex) { OnServerDownError(ex); return(new DataSet()); } }
private StringBuilder FilterData(UserSession us) { string[] strs = UStr.Split(us.AsyncData.ToString(), "\0", StringSplitOptions.RemoveEmptyEntries); string str = ""; int i = 0; us.AsyncData = new StringBuilder(); bool isValid = true; if (strs.Length > 0) { str = strs[strs.Length - 1]; if (!UData.IsValidXml(str)) { us.AsyncData.Append(str); isValid = false; } if (isValid) { for (i = 0; i < strs.Length; i++) { str = strs[i]; ProcessData(str, us); } } else { for (i = 0; i < strs.Length - 1; i++) { str = strs[i]; ProcessData(str, us); } } } return(us.AsyncData); }