2011-08-26 35 views
5

我正尝试使用MVC.NET,Nginx和Fastcgi设置事件流。流媒体对我使用xsp4的效果很好,但是我一直无法通过Nginx和Fastcgi获得它。我的目标是打开一个EventSource流和下游数据到我的网站。尝试通过nginx/fastcgi使用eventsource进行流式传输

我试着添加'ngx_http_upstream_keepalive'模块 - http://wiki.nginx.org/HttpUpstreamKeepaliveModule - 这很有趣,因为在模块描述中有“注释 - 这不适用于HTTP上游”。但是,等一下,是不是模块的名称?无论如何,也许我在这里感到困惑。我也尝试在我的nginx.conf中添加'proxy_buffering off',这也没有帮助。

我明白这应该是相当容易做到的,但我很茫然。是否有一些属性可以添加到我的nginx.conf中以使其工作?或者有什么东西要添加到.NET中的响应?

请帮我StackOverflow!

回答

6

基于我在这里读到:

http://wiki.nginx.org/X-accel

你需要关闭X-加速缓冲。以下是一些示例代码:

public ActionResult Stream(string id) 
{ 
    Response.ContentType = "text/event-stream"; 
    Response.Buffer = false; 
    Response.BufferOutput = false; 
    Response.Headers["X-Accel-Buffering"] = "no"; 
    return View(); 
} 

希望上面的代码解决了您的问题。