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(); } } }
没代码我说个J8: public void Presence(User.EStatus status) { string statustxt = ""; //说明文字。比如,离开的原因:外出吃饭 string show = ""; //真正起作用的命令。 switch (status) { case User.EStatus.OnLin
修改昵称,这么简单的功能,在jabberNet里怎么实现? 翻遍了jabberNet里的代码,jabber.client.RosterManager也,JabberClient也,似乎都没有现成的方法。 经过多次试验,发现可以这样写: public void SetNickname(JID jid,string nickname) { str
go-xmpp 是另外一个 XMPP 协议的 GO 语言实现。
MatriX 是 eXtensible Messaging and Presence Protocol (XMPP, 也叫 Jabber) 的开发包,采用 C# 编写,可用于 .NET 平台和 Sliverlight 技术。MatriX 提供完全的 .NET、.NET Compact 框架和 Sliverlight 支持。 示例代码: // basic send message examplev
cl-xmpp 是 Common Lisp 实现的一个 XMPP 协议支持的开发包。
xmpp-go 是 Go 语言实现的兼容 XMPP 协议的客户端和服务器端。
问题内容: 我将要开发一个具有近实时聊天功能的网站。我知道可以使用xmpp或websocket协议来实现。我也知道xmpp协议是在1999年开发的,我想它应该已经很成熟了。另一方面,websocket协议是在2011年开发的。 如果xmpp能够很好地处理实时对话,那么对websocket的需求是什么? 两种协议之间的主要区别是什么? 我什么时候应该选择其中一个呢? 问题答案: 简短的答案是“两者”
nativescript-xmpp-client Installation tns install nativescript-xmpp-client Usage import {Client, IQ} from "nativescript-xmpp-client";.... const client = new Client({ websocket: {url: 'ws://127.0
XMPP Echo Bot Do you know that situation, you really really need an XMPP echo bot, but you don’t have access to high-level tools like Python to write one? All you have is openssl, bash, dig, stdbuf an
xmpp-over-websocket 的目标是提供一个实时信息基于 xmpp 和 websocket pull 或者 poll 的解决方案。 Getting Started Clone git 库的子模块,运行通讯脚本,然后每个子模块会生成一个发布包。 步骤:1) 部署发布包; 2) 开始 ws-xmpp-master; 2) 打开 Openfire 服务器;3) 打开 ws-xmpp-robo