1.如何得知localStorage中数据的修改?
localStorage中任何数据的修改,都会触发一个事件:
window.onstorage = function(){ }
2. HTML5新特性之十——WebSocket
提示:重在概念的理解
HTTP协议:是基于“请求-响应”模型的协议,客户端发起一个请求,服务器就要返回一个响应,请求消息和响应消息是一一对应的!没有请求就没有响应!在一些特别的应用场景下(如实时走势图,在线聊天室),只能使用“定时器+AJAX”不停的向服务器发起请求以获得最新的数据——“心跳请求”,解决方案并不完美:心跳过快服务器压力过大,过慢导致数据实时性差。
WebSocket协议:是基于“广播-收听”模型的协议,只要客户端连接到服务器上,就不再断开,一方可以发送多条消息,对方只接收而不发送,可以解决上述应用中的问题。这个协议本身的问题:客户端与服务器是“永久连接”,导致服务器可以同时连接的客户端数是有限的!
基于WebSocket协议的应用必需两套程序:
(1)服务器端程序:
可使用PHP、Java、Node.js等语言编写
注意:PHP编写的WebSocket服务器独立运行的,无需依赖Apache!
c:/xampp/php/php.exe e:/socket_server.php
记得修改php.ini文件的907行!去掉开头的分号
extension=php_sockets.dll
(2)客户端程序:
可使用PHP、Java、HTML5/JavaScript等语言编写
使用HTML5提供的WebSocket对象创建WS客户端:
var wsClient = new WebSocket('ws://地址:端口');
wsClient.onopen = function(){ //连接成功
ws.send('msg'); //发送消息
ws.onmessage = function(e){ //接收消息
//e.data
}
}
WebSocket是一种新的通讯协议,与HTTP协议不同,是基于“广播-收听”模型的协议,适用于一些特殊的应用场合,如聊天室、实时走势获取 |