js 中的 SSE 服务器推送事件(长轮询或HTTP流)

 时间:2024-10-22 17:35:47

SSE(Sever-SentEvent),就是浏览器向服务器发送一个H哌囿亡噱TTP请求,保持长连接,服务器不断单向地向浏览器推送“信息”(message),这么做是为了节约网炫蟆绢鲷络资源,不用一直发请求,建立新连接。(与通过时间间隔执行ajax请求有点类似)

方法/步骤

1、SSE的特性1:每隔一段时间向服务器发送请求,以获取更新数据。2:响应数据类型为:text/event-stream3:连接断开会自动重连。4:响应数据内容为纯文本(数据格式如下图)。

js 中的 SSE 服务器推送事件(长轮询或HTTP流)

2、Javascript中SSEAPI类在javascr坡纠课柩ipt中通过EventSource类来创建SSE对象,支持下面泌驾台佐3个事件1:open事件:在建立连接时触发的事件。2:message事件:在接收到服务器新数据时触发的事件。(响应的数据内容必须以换行结束不然无法触发事件。)3:error事件:无法建立连接或断开连接时触发的事件。4:通过调用close方法结束请求。注意:除IE外,其它浏览器都支持。

3、浏览器端脚本实现

js 中的 SSE 服务器推送事件(长轮询或HTTP流)

4、服务器端PHP方式实现

js 中的 SSE 服务器推送事件(长轮询或HTTP流)

5、自定义事件方式1:响应数据中设置event字段,然后接事件名。如下:event:my-on2:脚本中添加事件处理函数(如图)

js 中的 SSE 服务器推送事件(长轮询或HTTP流)

js 中的 SSE 服务器推送事件(长轮询或HTTP流)

奥林巴斯SZ-11数码相机使用说明书:[4] 哔哩哔哩漫画怎么登录? 薄饼卷菜--山西地方面食 搜图神器app怎样屏蔽图片 小初音大冒险怎么玩
热门搜索
眉型与脸型图片 镜泊湖图片 制作好书推荐卡图片 交换温柔电影 图片美化软件