h5-sse 协议初探-即时通信

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了h5-sse 协议初探-即时通信相关的知识,希望对你有一定的参考价值。

Sse 协议

 

最近在一个小项目里面用到了sse协议(服务器推送事件Server-sent Events),遂做了些小研究,记录下方便自己也方便他人,额,我知道上面是一段废话。。。

1、Web即时通讯用什么

先说下自己,自己以前怎么做的呢?用Ajax一直请求服务器,发送和获得数据。我知道这样开销很大,效率很低,可是自己太懒了,没有去做更深的研究。那么我们来看下sse的一个简单示例,这个跳跃性有点大哦。

列子:客户端

 

var source = new     EventSource(‘url‘);
      
source.onmessage=function(event)
  {
      console.log(event.data)
  document.getElementById("show").innerhtml+=event.data + "<br />";
  };

 

 

服务端:

 

<?php
header(‘Content-Type: text/event-stream‘);
header(‘Cache-Control: no-cache‘);
$time = date(‘r‘);
echo "data: The server time is: {$time}\n\n";
echo "data:dd\n\n";
flush();
?>

 

 

    这样在客户端就会默认每隔3(可以自己改)得到服务器的新数据,作为一个小白,看了下浏览器的请求,在浏览器端就是每隔3秒发送服务器端的请求,得到新数据,那特喵的跟我自己Ajax去有什么!!区别?容我再研究两分钟!

以上是关于h5-sse 协议初探-即时通信的主要内容,如果未能解决你的问题,请参考以下文章

论文参考ASP.NET基于TCP协议的简单即时通信软件的设计与实现(源代码+论文)免费下载

前端即时通信是怎么开发的?

基于XMPP协议的Android即时通信系

认识即时通讯开发通信协议之MQTT

im即时通讯开发:浅析MQTT通信协议

Java网络通信-Socket初探