zoukankan      html  css  js  c++  java
  • JabberNet -Jabbber .net客户端框架(XMPP协议)

    JabberNet 是一个 .NET 的 Jabber (XMPP)协议的客户端开发包,示例代码:

    using System;
    using System.Threading;
    
    using jabber.client;
    
    namespace SendMessage
    {
        class Program
        {
            // we will wait on this event until we're done sending
            static ManualResetEvent done = new ManualResetEvent(false);
            // if true, output protocol trace to stdout
            const bool VERBOSE = true;
            const string TARGET = "otheruser@example.com";
    
            static void Main(string[] args)
            {
                JabberClient j = new JabberClient();
                // what user/pass to log in as
                j.User = "someuser";
                j.Server = "example.com";  // use gmail.com for GoogleTalk
                j.Password = "somepassword";
    
                // don't do extra stuff, please.
                j.AutoPresence = false;
                j.AutoRoster = false;
                j.AutoReconnect = -1;
    
                // listen for errors.  Always do this!
                j.OnError += new bedrock.ExceptionHandler(j_OnError);
    
                // what to do when login completes
                j.OnAuthenticate += new bedrock.ObjectHandler(j_OnAuthenticate);
    
                // listen for XMPP wire protocol
                if (VERBOSE)
                {
                    j.OnReadText += new bedrock.TextHandler(j_OnReadText);
                    j.OnWriteText += new bedrock.TextHandler(j_OnWriteText);
                }
    
                // Set everything in motion
                j.Connect();
    
                // wait until sending a message is complete
                done.WaitOne();
    
                // logout cleanly
                j.Close();
            }
    
            static void j_OnWriteText(object sender, string txt)
            {
                if (txt == " ") return;  // ignore keep-alive spaces
                Console.WriteLine("SEND: " + txt);
            }
    
            static void j_OnReadText(object sender, string txt)
            {
                if (txt == " ") return;  // ignore keep-alive spaces
                Console.WriteLine("RECV: " + txt);
            }
    
            static void j_OnAuthenticate(object sender)
            {
                // Sender is always the JabberClient.
                JabberClient j = (JabberClient)sender;
                j.Message(TARGET, "test");
    
                // Finished sending.  Shut down.
                done.Set();
            }
    
            static void j_OnError(object sender, Exception ex)
            {
                // There was an error!
                Console.WriteLine("Error: " + ex.ToString());
    
                // Shut down.
                done.Set();
            }
        }
    }
    
  • 相关阅读:
    师弟大喜之日,送上一幅对联 求横批
    漫画:Google 走了
    产品研发流程改进
    Outlook2010 Bug 一则
    Android 手机用户版本比例
    CDMA 短信中心号码
    UIM卡 PIN 码特点
    [Accessibility] Missing contentDescription attribute on image
    java打印函数的调用堆栈
    android中解析Json
  • 原文地址:https://www.cnblogs.com/l1pe1/p/14706904.html
Copyright © 2011-2022 走看看