【发布时间】:2011-03-31 02:59:49
【问题描述】:
对于 XMPP 即时消息,我使用 libstrophe(C 库)在登录我的站点时自动为我的用户创建连接。这发生在服务器端。然后在随后的页面请求中,我想再次使用该连接。我在网页的客户端使用 JavaScript Strophe 库。 strophe 有一个 attach() 函数,它使用 jid、sid 和摆脱连接。 jid 是 jabber ID,sid 是会话 ID,rid 是请求 ID。请注意,Strophe 还提供了一个 connect() 函数,我可以使用该函数获取 jid 和密码,但这比较慢,并且迫使我将用户密码嵌入到页面上输出的 javascript 中。
我希望服务器端登录代码创建连接并将 jid、sid 和 rid 存储在 cookie 中。然后在后续的页面请求中,只需读取 cookie 并将 jid、sid 和 rid 传递给 Strophe attach() 函数即可。
听起来很简单吧?但是 C 中的 libstrophe 在您建立连接后不提供 sid 或 rid 吗?我发现了如何通过发出某个“会话授权”节来获取 sid,但不知道如何摆脱?
我意识到这有点晦涩难懂。有什么帮助吗?
【问题讨论】:
-
为什么在使用 Web 时使用 C 库?如果那是某种后端,那你为什么不保持一个连接呢?你能提供一些背景资料吗?另外,考虑为 Python 使用一些 XMPP 库;我对 xmpppy 有很好的体验,但也有 SleekXMPP。