private NetworkMessage ProcessNetworkMessage(NetworkMessage msg) { NetworkMessage response = null; if (msg != null) { switch (msg.ID) { #region Version case "Version": response = GetVersionMessage(); break; #endregion default: break; } } return response; }
private static NetworkMessage FromText(string txt) { NetworkMessage msg = null; Hashtable parameters = new Hashtable(); try { string[] pairs = txt.Split(new Char[] { ';' }); foreach (string pair in pairs) { if (!Utils.StringIsNullOrEmpty(pair)) { string[] s = pair.Split(new Char[] { '=' }); parameters.Add(s[0], s[1]); } } if (parameters.Contains("ID")) { msg = new NetworkMessage((string)parameters["ID"]); foreach (string key in parameters.Keys) if (key != "ID") msg[key] = (string)parameters[key]; } } catch { } return msg; }
private NetworkMessage GetVersionMessage() { NetworkMessage msg = new NetworkMessage("Version"); msg["Version"] = Version; return msg; }
private static NetworkMessage FromXml(string xml) { NetworkMessage msg = null; byte[] bb = Encoding.UTF8.GetBytes(xml); if (bb != null && bb.Length != 0) { try { MemoryStream xmlStream = new MemoryStream(bb); XmlReaderSettings ss = new XmlReaderSettings(); ss.IgnoreWhitespace = true; ss.IgnoreComments = true; using (XmlReader reader = XmlReader.Create(xmlStream, ss)) { while (!reader.EOF) { reader.Read(); switch (reader.NodeType) { case XmlNodeType.Element: switch (reader.Name) { case "MSG": msg = new NetworkMessage(reader.GetAttribute("ID")); break; case "P": if (msg != null) msg[reader.GetAttribute("Name")] = reader.ReadString(); break; default: break; } break; default: break; } } } } catch (Exception e) { msg = null; } } return msg; }