【发布时间】:2013-11-22 04:36:09
【问题描述】:
假设我正在制作一个消息传递网络应用程序(例如)。发送消息很容易;我可以为此使用 POST 请求。但是,如果我想在新消息到达时收到通知怎么办?如何在客户端和服务器上处理?
我是否应该在客户端上向服务器打开一个 http 请求,让服务器简单地等到有新消息返回后再返回? Facebook 是如何做到的?
【问题讨论】:
标签: javascript post stream request
假设我正在制作一个消息传递网络应用程序(例如)。发送消息很容易;我可以为此使用 POST 请求。但是,如果我想在新消息到达时收到通知怎么办?如何在客户端和服务器上处理?
我是否应该在客户端上向服务器打开一个 http 请求,让服务器简单地等到有新消息返回后再返回? Facebook 是如何做到的?
【问题讨论】:
标签: javascript post stream request
我记得我曾尝试对 facebook 的方法进行逆向工程,但那是几年前的事了。似乎他们只有一个长请求,仅在特定超时(在这种情况下,它会重试)或发生有趣事件(然后触发其他一些查询)后才返回。
查看以下链接:
http://ajaxpatterns.org/HTTP_Streaming http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push
稍微用谷歌搜索一下,结果是 html5 的一个不错的功能。以前没有尝试过,但它似乎做同样的事情: http://www.html5rocks.com/en/tutorials/eventsource/basics/
【讨论】: