예제 #1
0
        protected static IEnumerator <object> HandlePing(Session session, string xml, long socketID)
        {
            try {
                var si = Program.GetScriptInstance <Common>("Common.Script.dll");
                if (si != null)
                {
                    si.LogPrint(null, "Attempting to respond to jabber ping.");
                }
                else
                {
                    Console.WriteLine("Attempting to respond to jabber ping.");
                }
            } catch {
            }

            var fDoc = Future.RunInThread(() => {
                var doc = new XmlDocument();
                doc.LoadXml(xml);
                return(doc);
            });

            yield return(fDoc);

            var    root     = fDoc.Result.FirstChild;
            var    toJID    = new JabberID(root.Attributes["to"].InnerText);
            var    fromJID  = new JabberID(root.Attributes["from"].InnerText);
            string packetID = root.Attributes["id"].InnerText;

            Packet packet = new SoapboxCore.IQ.IQResultResponse(
                fromJID, toJID, packetID, socketID
                );

            yield return(session.AsyncSend(packet));
        }
예제 #2
0
        protected static IEnumerator<object> HandlePing(Session session, string xml, long socketID)
        {
            try {
                var si = Program.GetScriptInstance<Common>("Common.Script.dll");
                if (si != null)
                    si.LogPrint(null, "Attempting to respond to jabber ping.");
                else
                    Console.WriteLine("Attempting to respond to jabber ping.");
            } catch {
            }

            var fDoc = Future.RunInThread(() => {
                var doc = new XmlDocument();
                doc.LoadXml(xml);
                return doc;
            });

            yield return fDoc;

            var root = fDoc.Result.FirstChild;
            var toJID = new JabberID(root.Attributes["to"].InnerText);
            var fromJID = new JabberID(root.Attributes["from"].InnerText);
            string packetID = root.Attributes["id"].InnerText;

            Packet packet = new SoapboxCore.IQ.IQResultResponse(
                fromJID, toJID, packetID, socketID
            );
            yield return session.AsyncSend(packet);
        }