XMPP strophe 连接附加过程失败
Posted
技术标签:
【中文标题】XMPP strophe 连接附加过程失败【英文标题】:XMPP strophe Connection attach process failed 【发布时间】:2011-09-13 10:14:40 【问题描述】:我能够在页面加载时创建 XMPP 连接。但是,每当我移动到另一个页面时,我想使用相同的连接来删除客户端中的重复通知。我使用了以下代码。
$(document).bind('connect', function (ev, data)
var jid = $.jStorage.get('JID', null);
var sid = $.jStorage.get('SID', null);
var rid = $.jStorage.get('RID', null);
if ((jid != null) && (sid != null) && (rid != null))
var conn = new Strophe.Connection("http://localhost:5280/xmpp-httpbind");
conn.attach(jid, sid, rid, function ()
alert('Connection attach success.');
Gab.connection = conn;
);
else
var conn = new Strophe.Connection("http://localhost:5280/xmpp-httpbind");
conn.connect(data.jid, data.password, function (status)
if (status === Strophe.Status.CONNECTED)
$(document).trigger('connected');
else if (status === Strophe.Status.DISCONNECTED)
$(document).trigger('disconnected');
);
Gab.connection = conn;
);
在卸载中:
$(window).unload(function ()
if (Gab.connection != null)
Gab.connection.pause();
$.jStorage.set('JID', Gab.connection.jid);
$.jStorage.set('SID', Gab.connection.sid);
$.jStorage.set('RID', Gab.connection.rid);
else
$.jStorage.flush();
// Gab.connection = null;
alert('paused/disconnected');
)
它附加到连接,但是一旦附加,它就会在 Firebug 控制台中显示 (POST http://localhost:5280/xmpp-httpbind 404 Not Found 36ms)。有什么想法吗?
提前致谢。
【问题讨论】:
你得到解决方案了吗? 【参考方案1】:你不应该相信卸载。而是在 xmpp 服务器的每个 cb 上存储/更新您的 RID。确保您的 RID 在每次调用时都会增加。
【讨论】:
【参考方案2】:请务必检查邮件正文。一些 XMPP 服务器在终止时返回 HTTP 404。
【讨论】:
以上是关于XMPP strophe 连接附加过程失败的主要内容,如果未能解决你的问题,请参考以下文章
xmpp openfire 未验证我稍后用于 strophe 附加的 php 脚本
XMPP Web 客户端(使用 strophe.js)花时间连接 ejabberd 服务器
无法在 windows phone 7.5(vs2010) 上使用 strophe.js 保持与 XMPP 服务器的连接