HTML5数据推送应用开发1.4 可能会用到SSE的应用_HTML5数据推送应用开发1.4 可能会用到SSE的应用试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > web > HTML5数据推送应用开发 > 1.4 可能会用到SSE的应用

HTML5数据推送应用开发——1.4 可能会用到SSE的应用

SSE 对什么有用?当你需要用新数据局部更新网络应用时,SSE 便脱颖而出,它不会要求用户执行任何操作。我们将以一个推送外汇价格的应用为例,探索如何实现数据推送和SSE。我们的目标是每当经纪人那里的欧元/ 美元(欧元兑美元)汇率变化时,新的价格会出现在浏览器上,尽可能像现实中一样及时。 这个例子完全适用于SSE 处理资料传送的标准:更新频繁、低延迟,并且数据都是从服务端到客户端(客户端不需要将价格数据推送回服务器)。我们示例中的后端会使用杜撰的价格数据,但使用真实数据(无论是汇率还是其他数据)的时候其实都一样。 稍微有点想象力,你就能明白这个例子如何应用到其他领域:在拍卖网络应用中推送最新出价,在售书网站推送新评论,在在线游戏中推送新高分,推送你感兴趣的最新微博或用你感兴趣的关键词推送新闻类文章,推送你在自家后院建立的那个由Kickstarter4 资助的核聚变反应堆中心的最新温度。 还有一些应用会发一些提示,比如像Facebook 这样的社交网站,当有新消息到来时,应用的某个位置会出现一个浮层,然后渐渐隐去;或者像Gmail 这样的邮箱服务界面,每当有新邮件时会在你的收件箱里现新的提示;或者连上日历,在会议即将开始前给你发送一条通知;或者在你的某个服务器上的磁盘使用率增高时向你提出警示……尽情畅想吧! 聊天类应用呢?聊天由两部分组成:在聊天室中接收其他人的信息(也可以是其他动态,比如成员进出聊天室、资料修改等);发送你自己的信息。这种双向沟通一般非常适合用WebSocket(稍后我们会具体看一下),但这并不意味着它不适合用SSE。发送自己信息的部分,用古老的Ajax 请求的方式就挺好。 作为适合用SSE 的聊天类应用范例,它可用来推送你感兴趣的微博,与此同时,用一个独立的连接供你撰写自己的微博。或者想象一个在线游戏:用SSE 将新分数发送给所有玩家,而你只需设法在游戏结束时把每个玩家的最终分数发到服务器。或者想象一个多人的实时策略游戏:当前面板位置不断更新,并且通过SSE 分发给所有玩家,然后在你需要将某个玩家的动作发送到中央服务器时使用Ajax 通道。 注2: 如果你认为数据推送和数据拉取只在Ajax(在2005 年开始流行)出现之后才成为可能,再想想,Flash 6 在2002 年3 月发布,提供了可以实现数据推送和数据拉取的Flash Remote 技术,并且还不用因浏览器不同而烦恼(那时几乎每个人的浏览器上都装了Flash)。 注3: 好吧,并不是总是,参见1.6 节和6.3 节附注栏“长轮询是否总是比常规轮询好”

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《HTML5数据推送应用开发》其他试读目录

• 1.1 HTML5
• 1.2 数据推送
• 1.3 数据推送的其他名称
• 1.4 可能会用到SSE的应用 [当前]
• 1.5 和WebSocket的对比
• 1.6 什么时候数据推送是错误的选择
• 1.7 决策、决策还是决策
• 1.8 带我看代码吧