有没有什么好的库支持WebSockets并且与GWT兼容?理想情况下,该库将支持WebSockets以及不支持WebSocket的浏览器的后备,例如类似于彗星的方法或轮询.
我目前正在使用GWT-Comet将数据从我的服务器推送到我的GWT Web应用程序.但是,这个库在某些方面有点破碎,似乎不再主动维护.因此,我正在寻找替代方案.
我目前正在考虑创建一个软实时移动电话webapp,但是当我开始研究websockets时,我发现了大量关于在移动电话上丢弃的websocket连接的恐怖故事:
http://blog.hekkers.net/2012/12/09/websockets-and-mobile-network-operators/
这仍然可以被认为是一个问题吗?
相关地,我怀疑长轮询客户端可能是实现类似功能的好方法,但我想知道我可能遇到的移动特定问题.
到目前为止,我已经读到长轮询请求可能会对电池寿命产生相当大的影响.我还听说iOS以某种方式限制了对单个服务器的连接数量,这可能是个问题.
有没有人在使用实时组件的移动应用程序上工作?如果你有,你遇到了什么挑战,你是如何克服它们的?
我有一个Rails 3应用程序,当用户点击页面时,它使用delayed_job获取一些数据(使用类方法).如何向ajax进程指示类方法已运行(以便我可以停止轮询)?
编辑:
为了澄清,我想知道delayed_job何时运行,而不是在ajax进程成功时.然后我想将delayed_job完成状态传递给正在运行的ajax进程.
我正在设计一个长轮询应用程序,可以非常迅速地向很多用户广播小的变化.该应用程序将与运行相当标准的cms的网站串联运行.它们都将在一台服务器上运行,并且数据库也是如此.
我非常喜欢LAMP环境,我绝对是开发人员而不是系统管理员.那说我不怕尝试一些新东西.
我花了一天时间研究我的选择,我希望人们可以回答一些问题并给我一些建议.
我把它缩小到这些:
A. Apache and php for the website, Node.js for the app
B. Nginx and php for both the website and app
C. Nginx and php for website, Nginx and Node.js for the app
Run Code Online (Sandbox Code Playgroud)
所以问题:
请记住,设置的简易性可能是一个因素,我对Apache非常熟悉,但我只使用Node,而且我从未安装过Nginx.
如果有人需要,我会很乐意提供澄清.
我想知道是否有任何代码引用,我可以遵循写一个非常简单的例子.许多帖子或网站只是谈论这项技术.
简单的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协议有什么区别?
谢谢
在将数据从Web服务器重新加载到前端时,我正在寻找"走的路"(即最有效,最常用,最普遍接受的方式).在最终的应用程序中,我将有几个输出字段,其中必须写入数据,例如:
在最终应用程序中,数据流将彼此不同.这些行必须从服务器重新加载新的最新数据.
我一直在考虑使用Ajax请求来像每秒更新,但必须有另一种方法来做到这一点.Ajax请求将导致大量数据流量.此外,当使用Facebook聊天时,您不必每秒钟等待,几乎立即收到聊天.但是,当我使用Mozilla Firefox的开发人员工具时,我没有看到任何Ajax轮询请求.这让我想到是否会有不同的方式来做到这一点.
我查看了Node.js,但看起来我的主机无法实现.
我听说有人在谈论Ajax Push,我应该使用什么?如果是这样,你能给我一个基本的用法例子吗?
如果没有,那么当拥有多个必须在一秒钟内重新加载的数据流时,会有什么方法呢?
要求是速度和低数据流量.因此,我认为不能连续轮询服务器,因为这会产生巨大的开销.
我认为它没有任何重要性,但我在后端使用PHP5.3,在前端使用jQuery 1.9.1的JavaScript.
我正在比较WebSocket服务器
SignalR仅在Server 2012上可用,但我的服务器运行的是Windows 2008.
SuperWebSocket&Fleck,它们只支持flash-proxy后备.
xsockets.net,这个在老年人网络浏览器中具有长期的后备支持.但它表示后备版仅适用于MVC3/4项目.它可以在MVC3/4应用程序中打开一个端口来接受支持websocket的客户端的连接吗?在Windows 2008上我似乎不可能.
我有一个问题,那就是:XSockets.NET如何在Windows 2008中运行?
如您所知,在IIS8.0之前,http.sys中未添加WebSocket功能.在IIS7.5中,SignalR始终以长池模式运行,适用于所有客户端.
XSockets.NET是一样的吗?因为据说MVC3/4项目只支持长池后备.如果我想利用后备支持,我必须在MVC3/4中使用XSockets.NET,它最终由IIS托管.IIS7.5没有websocket的功能,这就是我所害怕的
有谁知道它如何在IIS7.5中运行MVC应用程序?通过长池处理所有客户?
我需要在我的应用程序中实现长轮询以检索事件.但我不知道该怎么做.我知道长轮询的概念,即保持连接打开,直到事件发生.但是我该如何在我的项目中实现这一点.如果你能给我一个简单的长轮询客户端示例和我想的观点,我真的很感激.谢谢!
我的目标是从头开始创建一个类似于 Facebook 聊天的实时聊天。我想将所有消息存储在数据库表(MySQL) 上,每次用户发送新消息时,如果接收方已连接,则请求将发送到接收方的浏览器,消息将显示在聊天窗口中.
我不想让客户端检查是否发送了用户的新消息,但我希望服务器将请求发送到客户端的浏览器。
我知道这可以使用Comet 技术来实现(我看到了这个 stackoverflow 问题),但我无法找到关于如何为这个特定问题实现这一点的好指南。
我想使用 php 和 javascript 以及尽可能少的额外软件或框架。
我使用 WAMPServer 并且我有 Windows。
如果您知道一个好的指南或教程,或者可以提供有关如何实现我想要的任何指南,那将非常有帮助。
comet ×10
long-polling ×4
php ×3
websocket ×3
javascript ×2
reverse-ajax ×2
ajax ×1
bayeux ×1
chat ×1
cometd ×1
delayed-job ×1
django ×1
gwt ×1
ios ×1
mobile ×1
mysql ×1
nginx ×1
node.js ×1
polling ×1
server-push ×1
servlet-3.0 ×1
stream ×1
xsockets.net ×1