Socket.IO似乎是最流行和最活跃的WebSocket仿真库.Juggernaut使用它来创建一个完整的pub/sub系统.
Faye也很受欢迎,并拥有自己的javascript库,使其完整的功能可与Juggernaut相媲美.Juggernaut使用节点作为其服务器,而Faye可以使用节点或机架.Juggernaut使用Redis进行持久化(更正:它使用Redis作为pub/sub),而Faye只将状态保存在内存中.
简单的Async servlet和Comet/Bayeux协议有什么区别?
我正在尝试实现一种"服务器推送"(或"反向Ajax")类型的网页,当服务器上发生事件时,该网页将从服务器接收更新.因此,即使没有客户端明确发送请求,我也需要服务器能够将响应发送到特定的客户端浏览器.
据我所知,Comet是这类技术的总称.'Bayeux'是协议.但是,当我查看servlet规范时,即使是"异步servlet"似乎也完成了同样的事情.我的意思是我可以定义一个简单的servlet
<async-supported>
Run Code Online (Sandbox Code Playgroud)
web.xml中的属性设置为true; 并且该servlet将能够异步地向客户端发送响应.然后我可以有一个基于jQuery或ExtJS的ajax客户端,只是一直在做
long_polling()
Run Code Online (Sandbox Code Playgroud)
调用servlet.类似于以下链接中描述的内容 http://www.ibm.com/developerworks/web/library/wa-reverseajax1/index.html#long
所以我的问题是:
简单的Async servlet和Comet/Bayeux协议有什么区别?
谢谢
我有我的 .NET 客户端(Windows 服务),它订阅了 Salesforce 流 API 推送主题。
我能够连接到 Salesforce 并且可以将通知发送给我的客户。一切正常,但是:
如果我更新对象一段时间(可能是 2 小时)后通道上没有活动(Salesforce 对象没有更改),我将不会收到来自 Salesforce 的任何通知。
我曾尝试让听众登录,并在下面说的日志中
{"clientId":"f6xo67iet55w5j7ek6ldw72nfc6","channel":"/meta/connect","id":"82","successful":true} 5/15/2018 8:12:28 PM
{"advice":{"interval":0,"reconnect":"handshake"},"channel":"/meta/connect","id":"83","error":"403::Unknown client ","successful":false} 2018 年 5 月 15 日下午 8:12:28
{"clientId":"hbx1v2cxebbeder11s99dqkxmasre","advice":{"interval":0,"timeout":110000,"reconnect":"retry"},"channel":"/meta/connect","id": "85","successful":true} 5/15/2018 晚上 8:12:29
{"clientId":"hbx1v2cxebbeder11s99dqkxmasre","channel":"/meta/connect","id":"86","successful":true} 5/15/2018 8:14:20 PM
{"clientId":"hbx1v2cxebbeder11s99dqkxmasre","channel":"/meta/connect","id":"87","successful":true} 5/15/2018 8:16:10 PM
所以根据日志,有时我会收到“403::Unknown client”,但紧接着它又说通道成功。
但正如我所说,当我在 2 小时后尝试更新 Salesforce 对象时(根据日志,它连接成功)我没有收到任何通知。
如果我重新启动 Windows 服务并再次收到通知。
在我的客户中,我使用的是来自 - https://github.com/couchand/CometD.NET/tree/headers 的Cometd ,对于推送主题订阅,我正在使用它 - https://github.com/foluis/Salesforce_PushTopics
任何帮助将不胜感激。
我需要从wxPython APP连接到Bayeux服务器.
我会很感激任何提示.
只是简单的问题,因为我没有在文档中找到任何引用..
bayeux ×5
cometd ×2
websocket ×2
comet ×1
faye ×1
juggernaut ×1
phantomjs ×1
python ×1
reverse-ajax ×1
salesforce ×1
server-push ×1
servlet-3.0 ×1
socket.io ×1