首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Mochiweb的流式结果

来自Mochiweb的流式结果
EN

Stack Overflow用户
提问于 2011-04-13 14:28:53
回答 1查看 1K关注 0票数 0

我已经使用Erlang和Mochiweb编写了一个web服务。web服务返回大量结果,并花费一些时间来完成计算。我希望在程序找到结果时立即返回结果,而不是在找到所有结果时返回它们。

编辑:

我发现我可以使用分块请求来流式传输结果,但似乎找不到关闭连接的方法。那么关于如何关闭一个mochiweb请求有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-15 02:44:00

要使用HTTP1.1流式传输未知大小的数据,您可以使用HTPP chunked transfer encoding。在这种编码中,每个数据块都以其十六进制大小为前缀。最后一个块是长度为零的块,块大小编码为0,但没有任何数据。

如果客户端不支持HTTP1.1,服务器可以将数据作为二进制块发送,并在流的末尾关闭连接。

MochiWeb中,它的工作原理如下:

应使用Response = Request:respond({Code, ResponseHeaders, chunked})函数启动

  1. HTTP响应。(顺便说一句,看看使用Response:write_chunk(Data)函数可以将comments);
  2. Then块发送到客户端的代码。为了指示客户端,应该发送长度为零的流块的末尾:Response:write_chunk(<<>>)。当对当前请求的处理结束时,HTTP persistent connection.

  • 决定是否关闭连接或是否可以由MochiWeb重新使用连接
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5645257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档