我正在尝试创建一个基于"ajax"的小型多人游戏.PHP"处理程序"给出了对象的坐标.通过使用ajax,每200MS轮询此handler.php文件.
由于没有必要在没有任何事情发生时进行轮询,我想知道,如果没有频繁的轮询,是否可以做同样的事情?例如.彗星,虽然我听说你需要为Comet配置服务器端应用程序.这是一个共享的网络服务器,所以我不能这样做.
如果不需要在客户端更改任何内容,可能会阻止handler.php文件甚至返回响应,这可能吗?然后,即使事情没有改变,你仍然会让客户无用地要求回复.基本上,如果需要向客户端告知某些内容,它应该只使用带宽和服务器资源,例如.对象坐标的变化.
我必须使用Comet在PHP中构建一个简单的聊天系统.
我不知道这个项目的最佳方法是什么.
使用什么是最好的技术(跨浏览器会很好),以及如何实现它?我可以使用哪些库已经有彗星支持.(我不想使用Bayeux协议)
我已经为聊天系统运行了PHP后端,但我需要一些关于客户端和服务器之间交互的想法.
谢谢大家.致以我的问候.
我最近学习了scala并即将开始工作/学习Lift框架.通过功能并开始使用框架,我已经看到了框架的一些惊人功能,包括反向ajax和彗星.在我的经验早期,对于从未缩放的反向ajax,我确实遇到了非常糟糕的经历.如果我为任何开发选择提升框架,这将是原因.我的问题是技术和产品的成熟程度以及在tomcat上使用lift的可扩展性有多大?与servlet规范3.0相比哪一个更好用于此目的,等待servlet规范3.0或开始使用lift?
好吧,这是彻头彻尾的奇怪.我正在构建一个Web应用程序,它依赖于使用COMET的长期HTTP连接,并使用它来将数据从服务器传输到应用程序.
现在,问题是这似乎与一些反病毒程序不太一致.我们现在处于测试阶段,一些用户在启用防病毒时遇到应用程序问题.它不仅仅是一种特定的反病毒..当我在网上看时,我发现Avast的这个工作:http://avricot.com/blog/index.php? post/2009/05/20/Comet-and-ajax -with-停住-S-盾-网络- : -的救赎,或者,不
但是,这里有人对如何处理这个有任何建议吗?我应该发送任何特定的标题来取悦这些安全程序吗?
我正在寻找有关客户端Web套接字,Web服务器和实际应用程序后端之间交互的资源,这些后端在CGI,FastCGI或SCGI协议之后工作.
在这一点上,这似乎是不可能的:
请求长度是在CONTENT_LENGTH
变量中明确定义的,所以我不能指望数据会继续来自stdin的Web服务器,或者我可以吗?as unset CONTENT_LEGTH
定义no-request body.
应用程序需要读取CONTENT_LEGTH
更多的日期字节,如果读取的更少,则将其视为断开连接的客户端.
谢谢,所有信息都是合适的.
阿尔乔姆
任何人?
我正在考虑编写一个需要能够将消息推送到浏览器的实时Web应用程序.当我第一次阅读Comet时,由于浏览器支持较弱,人们似乎认为这是一种脆弱而不成熟的方法.今天,它似乎是一种既定的实用技术.但据我所知,浏览器不支持基本方法(长轮询,iframe和脚本标签),现在比06年该想法最初流行时更好.
当然,在服务器端管理所有这些连接很困难,但是Comet框架解决了这个问题(即使在06年使用像Twisted这样的东西也是如此).那么交易是什么:在浏览器中Comet支持是否存在任何突破性问题,或者那些人当时是错误的?
另外:我最近阅读了一篇〜2010年的博客文章,总结了Comet技术的状态,详细介绍了每种方法.这听起来好像没有一种方法真的可行.这个帖子非常有说服力,这就是为什么我对Comet仍然很敏感.关于博客,我唯一记得的是它有一个深色背景(棕色或黑色).还有其他人看过那篇帖子吗?我真的很想再看一遍.
我写了几个Android和iOS原生移动应用程序,它直接连接到我托管的XMPP服务器.他们通过XMPP推送和提取实时数据.我还使用了一些XMPP XEP扩展.对于其他操作,我在同一服务器上运行django应用程序,所有移动应用程序都通过HTTP REST接口使用该服务器.我使用Celery和Redis为django方面异步进行一些操作(比如对我的数据库进行大量的批量写入).
这一切都很好,花花公子.好极了.
但是现在我想为所有这些编写一个Web前端,所以我开始研究我的选择并且很好 - 有很多方法可以让我想要首先检查SO社区.
有一个js库给我一个统一的套接字通信API的想法(即尝试不同的Web套接字实现或回退到flash)吸引我,因此我提到了Socket IO.必须运行nodejs服务器的想法,不是那么多(还有一件事需要学习),但如果必须的话,我肯定会.我知道有些人使用gevent作为节点服务器的替代品.其他人,决定写一个小nodejs,他们连接到他们的堆栈的其余部分.我可能会这样做.
另一种选择是使用像Strophe这样的js XMPP库,我认为它不具备闪回后备功能.另外,我需要研究这对我的服务器意味着什么.
我已经阅读了关于如何做彗星和django的几个Stackoverflow答案 - 因此为什么看起来有几个选项.
问题是:
如果我想拥有Socket IO行为的优势(使用回退)并且我想将实时数据推送到Web客户端(通过XMPP送到服务器),并使用Django我最好的选择是什么?
更新:我使用的XMPP服务器是ejabberd,它也支持BOSH.我意识到我可以使用Strophe.js,因此我的通信将通过一种长轮询http连接而不是websockets.据我所知,Websockets上有一些XMPP开源库,但AFAIK社区并不像SocketIO那样活跃.
更新2:我需要支持的浏览器只是现代浏览器.我想这意味着Flash后备不会那么重要,这让我倾向于strophe.js.
您仍然需要将计算机的请求发送到网站的服务器并来回.websockets如何使它更快?
如果问题听起来很愚蠢,请原谅,但我不得不问.是否有用C#编写的Node.js的服务器端替代方案?我需要一个客户端框架来充分利用Web套接字,但AFAIK IE不支持Web套接字,也不会支持它的下一个版本.如果可用,socket.io使用Web套接字,否则返回BOSH.所以我将尝试连接到.Net Framework上运行的套接字服务器.
我有什么选择?
我正在确定一个项目的架构选项,该项目将呈现用户活动的实时更新(如Facebook) - 登录,照片等.这个的两个主要UI组件是一个自动更新滚动区域,其中将列出新通知(照片)等等,以及一个工具栏,它将更新更新的消息计数等内容.
这方面的竞争者是基于Jabber/Comet/XMPP和WebSocket技术.
彗星阵营:
WebSockets阵营:
由于现有的基础架构是Microsoft堆栈,我宁愿不将基于Java的服务器引入其中.说到这一点,它留下了(一个非常有吸引力的)WebSync(Comet)和SuperWebSocket(WebSockets).然而,Pokein的DLL集成在.Net项目中也是相当无缝的.
.Net有更多真正的生产级WebSocket计划吗?在Microsoft堆栈上采用WebSockets还为时过早,我是否应该支持像Kazing这样的东西?
我还在等待有关我们当前用户群的浏览器类型和版本的报告(检查HTML5兼容性).我怀疑这个数字会很低(较旧的用户群).如果是这种情况,Comet选项将成为赢家.
还有什么需要考虑的事情?
看看像Sockets.IO和其他一些.Net计划,我认为这可能还处于起步阶段,适用于大规模的生产系统.
我可以从使用过上述任何技术和产品的人那里得到一些评论吗?
谢谢.
UPDATE
我仍在寻找一些在生产级别上可靠的优秀WebSocket服务器.我最近找到它后,将XSockets和SignalR添加到了Websockets阵营.Hoewver,目前仍有两个主要竞争者.这可能只是因为他们拥有非常出色的营销团队,可供开发人员使用的优质材料 - API和视频.许多其他实现似乎仍处于新生阶段,其中给出了仅与少数客户端连接的示例.虽然这证明了该技术,但这些演示并未备份有效的有效负载/负载容量数据.Kaazing和LightStreamer确实符合以下要求.
XSockets有一些很好的例子,但同样缺少一些真正的生产指标.
SignalR似乎尚未在真正的生产环境中进行过测试.横向扩展解决方案正在开发中,但似乎还不稳定.期待看到这个项目未来的发展方向.
主要要求是: