当前位置:编程学习 > C#/ASP.NET >>

---基于XMPP协议的WEB聊天程序中的问题----

现在正试着用C#做一个基于XMPP协议的WEB聊天程序,找了一个例子是winForm的。
参照它做了一下,连接XMPP服务是成功了,当取得用户列表时,数据取到了,
但是画面上始终显示不了,用的是ie web treeview控件。不知道大家做过这方便的例子没有,帮小弟一下。
主要程序如下:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
con = new XmppClientConnection();

con.OnReadXml += new XmlHandler(con_OnReadXml);
con.OnWriteXml += new XmlHandler(con_OnWriteXml);
con.OnLogin += new ObjectHandler(con_OnLogin);
con.OnRosterItem += new agsXMPP.XmppClientConnection.RosterHandler(con_OnRosterItem);


//连接XMPP服务器
Thread mythread = new Thread(new ThreadStart(connect));

mythread.Start();
}


private void con_OnRosterItem(object sender, agsXMPP.protocol.iq.roster.RosterItem item)
{
//下载好友列表   分组名称为数节点的父节点  成员列表为数子节点
show_usersList(item);
}


/*打开与XMPP服务器的连接*/
private void connect()
{
con.Username = "niu";
con.Server = "127.0.0.1";
con.Password = "111";
con.Port = 10000;
con.Resource = "Resource";
con.Open();
}

/*取得用户列表信息*/
private void show_usersList(agsXMPP.protocol.Base.RosterItem item)
{
bool flag = false;
foreach (TreeNode node in treeUserList.Nodes)
{
if (node.Text == item.FirstChild.Value)
{
TreeNode childnode = new TreeNode();
childnode.Text = item.Name;
node.Nodes.Add(childnode);
flag = true;
}
}

if (!flag)
{
TreeNode newnode = new TreeNode();
newnode.Text =item.FirstChild.Value;
treeUserList.Nodes.Add(newnode);

TreeNode childnode = new TreeNode();
childnode.Text = item.Name;
newnode.Nodes.Add(childnode);
}


}
--------------------编程问答-------------------- 可以先看一下协议的原码 --------------------编程问答-------------------- WEB的用纯粹的服务端代码是很难实现的,用JS、AJAX,要不FLASH也行 --------------------编程问答-------------------- 我用户认证的地方用的AJAX,但是在取得好友列表时,肯定是在服务器端掉用XMPP协议中的接口,但画面不刷新,取到的数据是没有办法显示出来。因为没有做过,也不知道该怎样解决?
有没有哪位高手做过呀?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,