• 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();
            }
        }
    }
    
  • 相关阅读:
    CentOS下MySQL忘记root密码解决方法【转载】
    Linux给用户添加sudo权限
    C++11 std::chrono库详解
    npm install Error:EPROTO: protocol error, symlink '../mime/cli.js' -> '/vagrant/src/nodejs/node_modules/express/node_modules/send/node_modules/.bin/mime'
    DOT + graphviz 轻松画图
    关于阿里云ESC上go语言项目编译6l: running gcc failed: Cannot allocate memory
    Ubunu下安装Docker
    Ubunu下安装mongoDB
    Docker私有仓库Registry的搭建验证
    Linux的SOCKET编程详解
  • 原文地址:https://www.cnblogs.com/l1pe1/p/14706904.html
Copyright © 2020-2023  润新知