修改昵称,这么简单的功能,在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的一个参考网址如下: