我想用WP7实现一个简单的在线聊天应用程序。我正在使用Matrix SDK在我的WP7上实现聊天,这是我尝试连接的方式,但我无法连接和发送任何消息。事件也不会被触发..我也没有得到任何异常..我做错了什么?请给我指引
提前感谢
XmppClient xmppConn;
xmppConn = new XmppClient();
Jid jidUser = new Jid("username");
xmppConn.Username = jidUser.User;
xmppConn.Password = "password";
xmppConn.SetXmppDomain(jidUser.Server);
xmppConn.Uri = new System.Uri("http://server.com:7070/http-bind/",UriKind.RelativeOrAbsolute);
xmppConn.Status = "Testing on Windows Phone 7";
xmppConn.Show = Matrix.Xmpp.Show.Chat;
try
{
xmppConn.Open();
xmppConn.OnLogin += new EventHandler<Matrix.EventArgs>(xmppConn_OnLogin);
//xmppConn.OnPresence += new EventHandler<PresenceEventArgs>(xmppConn_OnPresence);
// xmpp.OnLogin += new EventHandler<Matrix.EventArgs>(xmpp_OnLogin);
}
catch
{
Console.WriteLine("Wrong login data!");
}
}
private void SendButton_Click(object sender, System.EventArgs e)
{
// loose focus to hide keyboard
this.Focus();
messages.Add(new ChatMessage()
{
Side = MessageSide.Me,
Text = TextInput.Text
});
var pm = new PresenceManager(xmppConn);
string sub_id = "xxxxxxxxx";
Jid jid = sub_id;
pm.Subscribe(jid);
xmppConn.Send(new Message(new Jid(jid), MessageType.chat, TextInput.Text));
xmppConn.OnMessage += new EventHandler<MessageEventArgs>(xmppConn_OnMessage);
TextInput.Text = "";
}发布于 2013-01-31 19:25:51
看看SignalR的实时网络通信(包括聊天)。
这里有一个official sample for Windows Phone 8,也有一个3rd party helper for WP7。
发布于 2013-03-22 14:34:32
在对xmpp执行任何操作之前,首先需要设置xmmp类的OnBind事件。
Reason:大多数xmpp都是asynchronously.When,你调用像client.Open这样的东西,它会立即返回,所以你首先需要等待OnBind事件。
https://stackoverflow.com/questions/14622391
复制相似问题