html怎么直接给服务器发消息,HTML5教程之服务器发送事件

HTML5 服务器发送事件(Server-Sent Events)允许网页获得来自服务器的更新。

Sever-Sent事件 -单项消息传递

Sever-Sent事件指的是网页自动获取来自服务器的更新

以前也可能做得到这一点,前提是网页不得不询问是否有可用的更新,通过服务器发送时间,更新能够自动到达

例子:FaceBook/Twitter跟新,估价更新,新的博文,赛事结果等

接受Sever-Sent事件通知

EventSource对象用于接受服务器发送事件通知:菜鸟教程(runoob.com)获取服务端更新数据

实例解析:

1.创建一个新的EventSource对象,然后规定发送更新的页面URL(本例中是“demo.sse.php”)

2.没接收到一次更新,就会发生onmessage事件

3.当onmessage事件发生时,把已接受的数据推入id为“result”的元素中

检测Server-Sent事件支持

一下实例,编写了一段额外的代码来检测服务器发送事件的浏览器支持情况if (type(EventSource) !== "undefined")

{

//浏览器支持 Server-Sent

//一些代码

} else {

//浏览器不支持 Server-Sent

}

服务器代码实例

未来让上面的例子可以运行,还需要能够发送数据更新的服务器(比如PHP 和 ASP)

服务器端事件流的语法是非常简单的,把"Content-Type"报头设置为"text/event-stream".现在,可以开始发送事件流了

实例:ASP 代码 (VB) (demo_sse.asp):

代码解释:

1.把报头"Content-Type"设置为"text/event-stream"

2.规定不对页面进行缓存

3.输出发送日期(始终以"data:"开头)

4.向网页刷新输出数据

EventSource对象

在上面的例子中,我们使用onmessage时间来获取消息,不过还可以使用其他事件

事件 描述

onopen 当通往服务器的连接被打开

onmessage 当接收到消息

onerror 当发生错误

本文由职坐标整理发布,更多HTML5开发知识请关注职坐标WEB前端HTML5/CSS3频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值