标签: comet

Comet与当前技术的兼容性

我听说我可以使用Comet作为服务器推送技术和我的Ajax代码来提高我的Web应用程序的性能.

这款Comet技术有多成熟?

是否所有Web服务器,编程语言和浏览器都支持它?

使用Comet有什么缺点?

ajax comet http server-push

5
推荐指数
1
解决办法
1636
查看次数

不同浏览器的超时行为?

我正在写一个基于AJAX/COMET的在线聊天室.我的设计是:

请求

-----------------等待------------------------->发送转储数据

-----------------等待------------------------->发送转储数据

-----------------等待------------------------->发送转储数据

-----------------等待------------------------->发送转储数据

-----------------等待------------------------->发送转储数据

------发生了什么事,得到回应.

另一个要求..... ....

如您所见,服务器保留请求并等待发生的事情,如果发生了某些事件,只需推送数据并完成请求.然后客户端将发出另一个请求.在请求中有勾选,因此如果在两个请求的间隙之间发生事件,则服务器知道客户端有待处理的事件.

在浏览器超时之前,服务器还会发送一些空闲数据以防止客户端超时.

现在,问题出现了:不同浏览器的超时行为是什么?我知道浏览器发送请求并等待数据,如果等待时间太长,它会超时.但是不同浏览器的超时行为是什么?是否有任何标题可以控制浏览器的超时行为?通过了解浏览器的超时行为,以便我可以决定如何处理它们.我在哪里可以找到这些数据?

browser ajax timeout comet

5
推荐指数
1
解决办法
1万
查看次数

使用异步页面的ASP.NET中彗星更容易吗?

我不是故意要问,ASPNET中的Comet比Jetty更容易吗? 我的意思是,与其他替代品相比,彗星更容易是ASPNET还是Jetty? 我认为ASP.NET和Jetty的异步功能特别使得Comet在这些平台上实现时更具可扩展性,我想确认一下.

ASPNET在2005年引入了"异步页面".这个想法是将熟悉的.NET异步模型应用于ASP.NET页面处理.

public partial class AsyncPage : System.Web.UI.Page
{
    private WebRequest _request;

    void Page_Load (object sender, EventArgs e)
    {
        AddOnPreRenderCompleteAsync (
            new BeginEventHandler(BeginAsyncOperation),
            new EndEventHandler (EndAsyncOperation)
        );
    }

    IAsyncResult BeginAsyncOperation (object sender, EventArgs e, 
        AsyncCallback cb, object state)
    {
        _request = WebRequest.Create("http://msdn.microsoft.com");
        return _request.BeginGetResponse (cb, state);
    }
    void EndAsyncOperation (IAsyncResult ar)
    {
        string text;
        using (WebResponse response = _request.EndGetResponse(ar))
        {
            using (StreamReader reader = 
                new StreamReader(response.GetResponseStream()))
            {
                text = reader.ReadToEnd();
            }
        } …
Run Code Online (Sandbox Code Playgroud)

asp.net asynchronous comet jetty

5
推荐指数
1
解决办法
736
查看次数

Tomcat CometProcessor NIO通过Apache httpd服务?

我有一个CometProcessor Servlet在Apache Tomcat中运行良好.我的server.xml连接器条目是:

<Connector connectionTimeout="20000" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/>
Run Code Online (Sandbox Code Playgroud)

我可以直接使用指向Tomcat的URL命中servlet(名为'EventBus'),如下所示:

http://xyz.com:8080/EventBus

我有Apache httpd提供.jsp文件和servlet与一个基本的workers.properties文件与一个工人,如:

worker.ajp13w.type=ajp13
worker.ajp13w.host=localhost
worker.ajp13w.port=8009
Run Code Online (Sandbox Code Playgroud)

除了我的CometProcessor servlet之外,这一切都能正常工作.当我尝试点击这个servlet时,我得到:

HTTP method GET is not supported by this URL
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何正确地将请求从Apache httpd转发到Apache Tomcat以获得像CometProcessor这样的NIO连接?

谢谢你的帮助.

apache tomcat comet

5
推荐指数
1
解决办法
1210
查看次数

在网页上显示通知和消息的最佳方式?

我感兴趣的是一个非常好的方式来做meebo和facebook和myspace等即时通讯,也适用于页面上的通知.我的网站上的示例现在,当用户收到新邮件,照片评论,个人资料评论,朋友请求以及其他一些事情时,他们将在使用jQuery和AJAX的页面上收到通知消息和链接.

我相信大规模这不是最好的方法,因为我的jquery代码必须基本上运行一个PHP脚本,每隔30秒左右查询mysql表,对于每个用这个脚本打开页面的用户运行.如果我能找到一种有效的方法,我最终会在屏幕底部的聊天栏中添加像facebook这样的即时消息.

我听说过Comet和HTML5 WebSockets这两个术语,但我不确定这些是否是我应该考虑的这类功能的解决方案?我希望将带宽保持在最低限度,并且每隔几秒运行一次查询在高流量站点上看起来效率不高.

如果你知道一些好的解决方案,请解释一下它们的工作方式

javascript php ajax comet websocket

5
推荐指数
1
解决办法
2076
查看次数

通过实例了解彗星

它的功能是所谓的"服务器推送",谷歌波似乎也在利用.

有人可以通过代码片段解释这个概念它在Web应用程序中的实际工作方式吗?

implementation comet server-push

5
推荐指数
1
解决办法
416
查看次数

ASP.NET - Comet将消息从服​​务器推送到所有客户端

我正在使用服务器端变量进行应用程序,每秒都会发生变化.每一秒都需要在所有打开网页的客户端上显示这些新变量.

现在大多数人都告诉我要用彗星,因为我需要每秒推/拉数据,现在我有几个问题:

  • 什么是更好的解决方案,看看我需要新的数据EVERY SECOND,从客户端拉出或推送服务器?

  • 此外,服务器端的项目ID(具有该ID的变量)可以更改,当客户端刷新页面时,他需要获取最早(和生存)的ID.这意味着我在客户端的jquery/javascript必须知道他在页面上得到了哪个ID,最好的方法是什么?

  • 最后一件事是我找不到一个好的(不贵)彗星库/ api for asp.net(C#).有没有人用过彗星图书馆,效果很好?我们正在寻找一个应该能够随时拥有2000个彗星连接的站点.

javascript c# asp.net comet

5
推荐指数
2
解决办法
2193
查看次数

用PHP实现COMET

我在php中寻找COMET(DWR - Direct Web Remoting)的例子.我在google搜索并在url下面找到了相当有帮助的内容.

http://www.zeitoun.net/articles/comet_and_php/start

我打算用symfony实现COMET.任何机构都有更多的例子.体验Symfony框架?

php symfony1 comet

5
推荐指数
1
解决办法
2369
查看次数

Android浏览器的备用服务器Push/Comet实现,不发送4KB消息?

我正在开发一个使用Comet Hidden iFrame技术将数据从服务器推送到移动浏览器的Web应用程序.

在Mobile Safari上一切正常,但Android更加痛苦.它似乎需要从服务器发送4 KB消息,以便将消息记入帐户.这是针对每条消息而不仅仅是第一条消息.

有些人尝试使用XMLHttpRequest流媒体实现Comet但具有相同的4KB问题(http://code.google.com/p/android/issues/detail?id=13044)

有没有人设法在Android浏览器上实现Comet技术而无需将消息填充到4KB?

在Android 2.1,2.2上测试过

即使在Android 4.0版本http://caniuse.com/eventsource上也似乎不支持服务器发送事件

websocket http://caniuse.com/websockets也是如此

谢谢

-seb

android comet server-push websocket http-streaming

5
推荐指数
1
解决办法
2213
查看次数

Comet Technology和SignalR有什么区别

我搜索得非常糟糕......任何人都可以告诉我,SignalR和Comet技术之间的确切区别是什么......我知道Comet与SignalR进行相同的客户端 - 服务器通信...它将数据推送到客户端就像SignalR一样,那么2.请帮忙.

谢谢!!!Shivanand Arur.

comet signalr

5
推荐指数
0
解决办法
1528
查看次数