zoukankan      html  css  js  c++  java
  • HTML5BOM-服务器通信技术

    一、服务器推送技术---server-send-Event

    是服务器向浏览器客户端推送数据的过程,是单向的。

    1、服务器要求

    在php服务器中, 要求网页的mime类型为:text/event-stream。 eg:header("Content-Type: text/event-stream "),这是在php服务器中。

    2.text/event-stream 有一定的格式,数据流由一个或多个注释行及字段行组成。注释行是由冒号开始的行,字段行由字段名和字段值组成的,多个事件之间用空行分隔。

    eg: echo ':'. $now. " "    //这个是注释行

    eg: echo 'data:' .$now ." " //这个是字段行

    通信数据的编码是UTF-8

    3. EventSource 对象

    是浏览器用于实现Server-Sent-Event 的关键

    方法: var  source=new EventSource(url)    其中  url 就是要推送数据的服务器技术的URL地址,(服务器端的)

    当事件流被打开,浏览器发送HTTP请求, 服务器响应请求,

    当创建EventSource对象之后 就可以定义事件监听函数的各种事件

    open事件: 当连接打开时触发该事件

    message事件: 当收到信息时触发该事件

    close 事件: 当连接关闭时触发该事件

    var  source=new EventSource(url);

    source.onopen=function(){}

    source.onmessage=function(){}

    source.onerror=function(){}

    EventSource 是一个不停间歇运行的程序,甚至导致浏览器奔溃,所以可以用worker对执行的部分起到优化作用。

    二、web Socket 套接字连接

    这个是web应用程序和服务器进程间的双向通信,而服务器推进技术只能实现服务器到浏览器客户端的单向传递。

    方法: var  socke=new WebSocket(host)// host 是一个主机名  host="ws://localhost:12344/"

    这个对象也有相应的三个方法: onopen  onmessage  onerror

    websocket 和http 之间的区别在 传输数据时,http 每次传输的过程都要加上报头,而websocket是通信是只执行一次这个过程。所以再聊天程序中,websocket比http 方法更好。

  • 相关阅读:
    C#反射:获取自定义类,动态调用方法
    asp.net 错误 404找不到页面的解决办法
    C# 用QQ邮箱发送邮件
    C# 进制转换
    SharePoint Designer 2010 左侧导航没有 page layouts
    Insert Multiple User in SharePoint list
    发布Layouts页面的时候报错:System.ArgumentException: Invalid SPListItem. The SPListItem provided is not compatible with a Publishing Page
    Update SharePoint multiple user field
    Enable m access sharepoint
    SPUser and LookUp Field update values
  • 原文地址:https://www.cnblogs.com/xuruweb/p/4204005.html
Copyright © 2011-2022 走看看