任何人都可以指向包含<p:socket/>
客户端小部件的任何api链接吗?
完成push showcase我只能看到connect
方法
requestContext.execute("subscriber.connect('/" + username + "')");
还有什么其他方法。是否有任何断开方法。?
此外,如何为每个用户创建单独的频道(如果是聊天应用程序)。我估计,这个<p:socket onMessage="handleMessage" channel="/chat/#{userSession.userId}" autoConnect="false" widgetVar="subscriber"/>
会做到这一点,但显然它不是,至少对我来说。因为通过查看Chrome开发者控制台,我可以看到每次刷新页面时都会附加频道名称(/ chat / userid / userid ...)。
任何指针都非常感谢。!!!
答案 0 :(得分:2)
我想我得到了一些我正面临的问题的答案。
附加问题是因为调用
requestContext.execute("subscriber.connect('/" + username + "')");
多次。调用下面的代码会导致多次附加通道名称。
connect: function (a) {if (a) {
this.cfg.request.url += a // <----
}
this.connection = $.atmosphere.subscribe(this.cfg.request)
PF 4.0中提供了断开连接方法。或者您可以将以下代码添加到push.js。
disconnect: function () {
this.connection.close()
}