我正在尝试为内部应用程序构建流式处理解决方案,但我正在为解决方案绘制空白以克服障碍。目前,在我的工作示例中,我正在使用APE,但由于限制我不能在主机上有任何外部运行进程,所以我不能运行APE服务器。我正在寻找替代方案,但到目前为止我发现的所有内容都需要在服务器上运行进程。关于项目的一些细节。将同时连接大约25个人理想情况下,每个人都应该同时看到更新,只要更新可用。它将在Windows环境中运行,因此C#/.NET解决方案比PHP等解决方案更可取。任何人有任何想法,如果node.js能够处理这个,或者任何其他解决方案? 最佳答案 问题
我在MVC3中有一个应用程序,我希望向它添加WebSockets(回退到Comet)。我研究了一下,发现Comet部分非常简单,我更愿意自己动手。只需要AsyncControllers和一些非常简单的js就可以处理那些长期存在的ajax请求。现在,对于WebSocket,事情开始变糟了。我看过一些图书馆,但他们似乎大多设置自己的网络服务器(因此需要另一个主机或端口),并在那里收听ws协议(protocol)请求。例如SuperWebSocket就是这种情况。,一开始看起来不错,但有这个“我是网络服务器”的问题(这当然很好,但我宁愿避免)。然后我查看了“PingIt”或类似的东西,我
我想知道Gmail(或其他任何人)如何在Opera上运行cometd。这是我目前从实验中了解到的信息。它不使用event-source在Opera10.51中损坏的标签。它不使用iframe,后者显示旋转的跳动器和忙碌的鼠标光标。当readyState=3时,它不会在xmlhttprequest上使用responseText,这在Opera上已知会被破坏。我尝试在mibbit和etherpad中查看它是如何完成的,我发现它们都使用长轮询。赏金谁能告诉我一种比Operacomet流式传输的“事件源”更好的方法,或者gmail如何进行流式传输(或者长轮询,如果这样做的话)。
对于HTTPStreamingComet,我指的是“永远的iframe”/“永远的xhr”变体,它们在从服务器推送数据后不会关闭连接,这与关闭并重新发送请求的标准轮询和长轮询相反每个服务器推送事件的新请求。我查看了dojo.io.cometd包,它们似乎只有轮询实现。我还找到了thisexample,但即使经过相当多的修补,它似乎也无法在webkit中工作(我让它在其他任何地方都可以工作)。Thisannouncementfromthesafariblog似乎暗示xhr是可能的,但我找不到任何代码或文档,也无法让它工作。有谁知道在Webkit浏览器(Safari和Chrome)中实现H
好吧,这太奇怪了。我正在构建一个Web应用程序,该应用程序依赖于使用COMET的长期保持的HTTP连接,并使用它将数据从服务器流式传输到应用程序。现在的问题是,这似乎不适用于某些反病毒程序。我们现在处于测试阶段,一些用户在启用防病毒软件时会遇到应用程序问题。它也不仅仅是一种特定的防病毒软件。我在网上查看时发现Avast可以解决此问题:http://avricot.com/blog/index.php?post/2009/05/20/Comet-and-ajax-with-Avast-s-shield-web-:-The-salvation-or-not但是,这里有人对如何处理这个问题有
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我正在实现典型的服务器推送(cometd)应用程序。我在两个选项之间进行选择:longpollXHR和iFrame。这些有什么好处和坏处?我知道跨站点限制并且iFrame是非常重量级的组件......还有其他区别吗?例如,传输的“可靠性”或对组件的控制级别?您怎么看,是否有一个正确的答案是哪种方法更好,或者这两种方法都有用例?提前致谢。附言我有一个非常好的
我想创建一个这样的应用程序:http://collabedit.com/创建此实时应用程序的最有效方法是什么?闪光?长轮询?HTTP流?还是别的?谢谢;) 最佳答案 目前,长轮询可能是最好的解决方案。许多大牌网站都有长轮询实现,包括Facebook、Google和eBay。并非每个人的浏览器都安装/启用了Flash。以后WebSockets或许能够为我们完成更轻松的工作。更新:截至撰写本文时,WebSocketAPI在最新的WebKit(Chrome/Safari)和Firefox4beta中实现。还有Opera的公共(public
客户端从服务器请求网页。然后客户要求进行额外的计算;服务器执行一系列计算并在可用时立即发送部分结果(文本格式,每行包含单独的完整项目)。客户端使用服务器提供的信息更新网页(使用JavaScript和DOM)。这似乎适合HTTPStreaming(current版本)来自Ajaxpatterns网站的模式。问题是如何以跨浏览器(浏览器不可知论)的方式做到这一点,最好不使用JavaScript框架,或使用一些轻量级框架,如jQuery。问题始于以跨浏览器方式生成XMLHttpRequest,但我认为主要问题是并非所有浏览器都正确地实现了onreadystatechangefromXMLHt
我正在实现一个需要实时更新的系统。我一直在研究某些场景,其中包括Comet。实现这一点,我看不出这与传统的长轮询有任何不同。在这两种情况下,您都必须发送请求,然后服务器发回响应。在浏览器中解释响应,然后启动新请求。那么,如果在这两种情况下我都需要打开和关闭连接,为什么还要使用comet。 最佳答案 一些Comet技术不要求您不断打开新请求(例如分块隐藏的iframe),其想法是保持请求打开并让服务器定期发送数据。但这在没有负面副作用的情况下(正如一位维基百科贡献者巧妙地指出的那样)在所有主要浏览器中都无法正常工作,因此需要长轮询技术
如果用PHP编写,为什么像Tornado这样的Comet服务器特别容易发生内存泄漏?PHP在实现像Tornado这样的长轮询框架/服务时是否存在真正的弱点?谢谢 最佳答案 它的要点是,PHP最初的编写目的是为每个请求提供一个全新的进程,一旦所述请求结束,您就可以丢弃这些请求,而在那个时候,诸如Comet和长轮询之类的东西并不是真正的在table上。因此,有相当多的领域——尤其是垃圾收集器——PHP最初并不是为长时间运行而设计的,它也不太关心,因为每个http请求都有一个品牌新的PHP实例。近年来它明显变得更好,但我仍然不会用它来创建