.NET的XMPP开发包 JabberNet

webphp 12年前
     JabberNet 是一个 .NET 的 Jabber (XMPP)协议的客户端开发包,示例代码:    <pre class="brush:c#; toolbar: true; auto-links: false;">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();         }     } }</pre>    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1326030758500" target="_blank">http://www.open-open.com/lib/view/home/1326030758500</a></p>