JabberNet 介绍
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 = "[email protected]"; 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(); } } }
JabberNet 官网
http://code.google.com/p/jabber-net/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。