jabberNet 修改花名册条目的昵称

修改昵称,这么简单的功能,在jabberNet里怎么实现?

翻遍了jabberNet里的代码,jabber.client.RosterManager也,JabberClient也,似乎都没有现成的方法。

经过多次试验,发现可以这样写:

        public void SetNickname(JID jid,string nickname)
        {
            string strSql = String.Format(@"
<iq id='changenick1' type='set'>
    <query xmlns='jabber:iq:roster'>
        <item jid='{0}' name='{1}' />
    </query>
</iq>",jid.ToString(),nickname);

           jc.Write(strSql);
        }

这很类似执行SQL语句。

至于这种“SQL语句”(XML)为什么这样写,要扯到XMPP身上。我还没来得及对XMPP进行了解。XMPP的一个参考网址如下:

http://wiki.jabbercn.org/RFC6121

原文地址:https://www.cnblogs.com/leftfist/p/4257910.html