Пример #1
0
        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;
        }
Пример #2
0
        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;
        }
Пример #3
0
 private NetworkMessage GetVersionMessage()
 {
     NetworkMessage msg = new NetworkMessage("Version");
     msg["Version"] = Version;
     return msg;
 }
Пример #4
0
        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;
        }