【面向HTML5--WebSocket】

来源:互联网 发布:手机内窥镜软件 编辑:程序博客网 时间:2024/06/10 13:59

WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

HTTP与WebSocket:

HTTP协议的特点:属于“请求-响应”模型,客户端先发起请求,服务器才会返回响应;一个请求只能得到一个响应。有些特殊的应用场合,该模型存在问题:实时走势图、在线聊天室,必须要求服务器端一有更新的数据,客户端必须立即显示。使用HTTP协议的实现方法:心跳请求 = 定时器 + AJAX。并不完美:心跳太快,服务器压力大;心跳太慢,客户端看到数据的延迟太大。  WebSocket协议的特点:属于“广播-收听”模型,只要客户端连接到服务器,就“永久连接”,此后一方可以随时向另一方发起消息,对方及时收听。可以非常好的应用于实时走势、聊天室应用。

WebSocket

一个WebSocket(WS)协议的应用程序分为两部分:

(1)WS服务器:接收客户端连接请求

可以用Java、PHP、Node.js编写,独立运行,不依赖于任何其他服务器(如Web服务器)

使用PHP编写WS服务器应用:1)修改PHP解释器的配置文件,启用socket相关的函数    去掉c:/xampp/php/php.ini:907行前的分号2)在命令行中执行PHP解释器,运行WS应用文件:

WebSocket

(2)WS客户端:主动连接到服务器

可以用Java、PHP、Node.js、H5-WebSocket等技术编写

var ws = new WebSocket('ws://127.0.0.1:9999');ws.onopen = function(){      //成功连接到服务器  }ws.send('msg')      //发送消息ws.onmessage = function(e){  //接收消息    console.log(e.data)}  
原创粉丝点击