[英]agsXMPP OnLogin event not firing Asp.Net
我正在嘗試在Asp.Net中創建一個agsXMPP GTalk聊天客戶端,但是OnLogin事件根本就沒有做任何事情,我已經嘗試過了,很多事情......
誰能幫幫我嗎?
這是aspx.cs文件的代碼:
using System;
...
using agsXMPP;
using agsXMPP.protocol.client;
using agsXMPP.Collections;
using agsXMPP.protocol.iq.roster;
using System.Threading;
using Microsoft.Win32;
public partial class ChatClient : System.Web.UI.Page
{
private agsXMPP.XmppClientConnection xmppCC = new XmppClientConnection();
protected void Page_Load(object sender, EventArgs e)
{
}
void xmpp_OnLogin(object sender)
{
lblMsg.Text = "Succes!" + xmppCC.Authenticated.ToString();
xmppCC.SendMyPresence();
}
string emailAdres; string password;
protected void cmdLogin_Click(object sender, EventArgs e)
{
emailAdres = textEmail.Text; password= textPassw.Text;
xmppCC = (XmppClientConnection)Application["xmpp"];
if (xmppCC == null)
{
xmppCC = new XmppClientConnection();
Application["xmpp"] = xmppCC;
}
Jid jidSender = new Jid(emailAdres);
xmppCC.Username = jidSender.User;
xmppCC.Server = jidSender.Server;
xmppCC.Password = password;
xmppCC.AutoResolveConnectServer = true;
try
{
xmppCC.OnLogin += xmpp_OnLogin;
lblMsg.Text = "";
xmppCC.Open();
}
catch (Exception ex)
{
lblMsg.Text = ex.Message;
}
}
}
提前致謝
xmppCC.Server
並不總是等於jidSender.Server
,要自動解析Server
試試這個:
emailAdres = textEmail.Text; password= textPassw.Text;
xmppCC = (XmppClientConnection)Application["xmpp"];
Jid jidSender = new Jid(emailAdres);
if (xmppCC == null)
{
xmppCC = new XmppClientConnection(jidSender.Server);
Application["xmpp"] = xmppCC;
}
// xmppCC.Username = jidSender.User;
// xmppCC.Server = jidSender.Server; it will be resolved with AutoResolveConnectServer = true
// xmppCC.Password = password;
xmppCC.AutoResolveConnectServer = true;
xmppCC.OnLogin += s => Debug.WriteLine("Logged in");
xmppCC.Open(jidSender.User, password);
我建議將它與SignalR等實時HTTP通道結合使用。 另見我的博客文章: http : //www.ag-software.net/2012/08/20/web-clients-with-matrix-and-signalr/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.