在Django中构建聊天应用程序时,我应该如何实现反向AJAX?我看过Django-Orbited,根据我的理解,这会将一个彗星服务器放在HTTP服务器前面.如果我只是运行Django开发服务器,这似乎很好,但是当我开始从mod_wsgi运行应用程序时,这是如何工作的?如何让轨道服务器处理每个请求规模?这是正确的方法吗?
我已经看过另一种方法(长轮询)似乎会起作用,虽然我不确定会涉及到什么.客户端是否会请求一个可以存放在自己的线程中的页面,以免阻塞其余的应用程序?它会阻止吗?客户要求的脚本是否必须不断轮询信息?
哪种方法更合适?哪个更便携,可扩展,更理智等?除了客户端查询消息之外,还有其他一些我忽略的好方法吗?
我希望在我的应用程序中实现反向ajax,它使用PHP和jquery.我已经搜索了一下它并发现了XAJA,但这似乎是一个付费的应用程序.是否有可用的开源应用程序或有人实现它?
一些指针或提示将非常有用.
提前致谢.
ICEpush仍然是alpha版本,所以我很好奇它是否适合在tomcat上的web应用程序或许多客户端的tc服务器上使用.这项技术可以通过小延迟为多少用户提供服务?我很好奇100,1000和10000客户端的延迟是什么.
反向AJAX的其他Java库值得一看?
实现Comet,HTTP Push或Reverse AJAX的正确方法(或最佳方式)是什么?
你会推荐什么.NET实现?
我正在一个网站上显示来自DB的一些数据,这些数据经常变化(队列状态和聊天对话).我目前的设置是Apache/PHP/MySQL.当然,我希望避免每x秒轮询一次服务器,因为这不能很好地扩展.我想做反向ajax长轮询,但是,我已经读过Apache不能正常工作,因为它很快就会耗尽工作线程.还有很多其他的Web服务器来解决这个问题:nginx,龙卷风等等.但是,我的问题是,PHP是我所知道的唯一的服务器端脚本语言.此外,我已经编写了一些PHP脚本,所以如果可以,我想保留它们.只要我仍然可以使用PHP,我就可以切换服务器.
但在做一些调查研究后,我读过的人说PHP(PHP-FPM?)还创建的每个请求,这意味着如果我有上百个/千开放连接的过程中,将有数百/千流程,这也是问题所在.
我可以得出结论,使用PHP制作长轮询网站没有很好的可扩展方法吗?我应该放弃PHP并学习另一种服务器脚本语言吗?我可以继续开发使用我的当前设置(阿帕奇/ PHP)长轮询,但现在我不想脚本语言的选择构成任何限制我的系统的可扩展性,当我部署.所以我该怎么做?我对网络编程不是很有经验,所以如果有任何大师可以给我一些指示我会很感激!谢谢!
我正在寻找一个如何使用ASP.NET实现反向Ajax(Comet)的基本示例.我已经查看了以下内容,我现在不想使用它们(因为它们已付款)
http://www.frozenmountain.com/websync/ http://www.lightstreamer.com/demos.htm
我已经在SO上提到了各种链接.但他们中的大多数都指向外部API.我正在寻找一个如何实现它的明确示例.
我正在尝试用javascript编写一些简单的聊天客户端,但我需要一种实时更新消息的方法.虽然我可以使用xmlhttprequest函数,但我相信它会占用服务器上的TCP/IP端口,可能更重要的是,我目前的托管包不允许这样做.它似乎不是一个理想的解决方案,因为它似乎有点hacky不断有一个开放的连接,如果我只是听端口并获取数据,它会容易得多.我在互联网上看到了很多关于彗星和连续民意调查的内容,这些内容并不令人满意,很多人都认为javascript并不适合我,我同意这一点.现在我实际上已经学到了更多关于互联网是如何工作的,但似乎可行.我不需要担心到目前为止发送消息;
我想了解反向ajax,我发现了一个名为ICEPush的小工具,我认为这可能是一个很好的起点.我无法实现一个非常简单的应用程序.我正在学习本教程,但我使用的是Glassfish 3.1而不是Eclipse,而不是使用Eclipse,而是使用NetBeans 7.1
我完全按照教程中的说法完成,请参阅我的代码.这是将成为Ajax推送目标的页面:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Easy Ajax Push - Color</title>
</h:head>
<h:body>
<h:dataTable value="#{messageBean.textList}" var="current">
<h:column>
<h:outputText value="#{current.text}"
style="color: #{current.color};"/>
</h:column>
</h:dataTable>
<hr width="100%"/>
<h:form>
<h:panelGrid columns="4">
Choose a Color:
<h:commandButton value="Red"
action="#{colorBean.chooseColor}"
style="color: white; background-color: red;">
<f:setPropertyActionListener target="#{colorBean.color}" value="red"/>
</h:commandButton>
<h:commandButton value="Blue"
action="#{colorBean.chooseColor}"
style="color: white; background-color: blue;">
<f:setPropertyActionListener target="#{colorBean.color}" value="blue"/>
</h:commandButton>
<h:commandButton value="Green"
action="#{colorBean.chooseColor}"
style="color: white; background-color: green;">
<f:setPropertyActionListener target="#{colorBean.color}" value="green"/>
</h:commandButton>
</h:panelGrid>
</h:form>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)
以下是需要的2个托管bean: ColorBean.java
@ManagedBean(name="colorBean")
@ViewScoped
public class ColorBean …Run Code Online (Sandbox Code Playgroud) 我们正在尝试在项目中创建反向ajax.
我在网上查了一下,没找到具体的东西.我无法运行成功提供的任何教程.
我的目标是:提供屏幕警报(如弹出窗口)甚至从服务器推送均匀(它可能是高CPU使用率/内存,任何东西).
我想要做的事:可以在订阅了许多不同的"聊天室"的用户和使用反向AJAX /彗星从聊天室发送消息给大家登录到那个房间.(有点复杂,但这是一个类似的用例).
我在做什么:使用Grails与JMS和Atmosphere.当发送消息时,我正在使用JMS发送由Grails服务接收的消息对象,然后将其广播到大气URL(即大气/消息).
显然,JMS是有点多余了那里,但是我虽然我可以用它来帮我过滤谁应该检索消息虽然并不真正期待它会工作(因为用户基本上是单独服务...).
无论如何,我需要做的只是向正在听大气/消息的人群发送消息.RESTful类型的URL在这里将是完美的(即氛围/消息/*,其中*是房间ID)但是我不知道如何使用Atmosphere.
关于如何实现我想要的任何想法/建议?没有什么是具体的,所以随意提出几乎任何建议.我甚至在想(基于回答另一个问题),例如,如果我可以做一些像发送邮件到的Node.js服务器,并具有处理反向AJAX /彗星的一部分.