WebSocket 简单使用 关于WebSocket 我打算分如下几篇博文来探探路:WebSocket 简单使用(一) - 概念 WebSocket 简单使用(二) - 客户端 WebSocket 简单使用(三) - 服务器端 WebSocket 简单使用(四) - 完整实例 WebSocket 简单使用(五) - 模拟微信 连接键盘 功能 背景:前几天老大突然发现微信有个链接键盘的功能,我仔细想了下或许是使用WebSocket来实现的,又加上最近HTML5的呼声愈来愈高,觉得有必要研究下HTML5了
HTML5作为下一代WEB 标准,拥有许多引人注目的新特性,如Canv as、本地存储、多媒体 编 程 接口 、 WebSocket 等 等
今 天我们 就 来看 看 具 有“Web TCP” 之 称 的WebSocket
WebSocket 的出现是基于Web 应用的实时性需要而产生的
这种实时的Web应用大家应该不陌生,在生活中都应该用到过,比如新浪微博的评论、私信的通知,腾讯的WebQQ 等
让我们来回顾下实时 Web 应用的窘境吧
在 WebSocket 出现之前,一般通过两种方式来实现Web 实时用:轮询机制和刘技术;其中轮询有不同的轮询,还有一种叫 Comet 的长轮询
轮询:这是最早的一种实现实时 Web 应用的方案
客户端以一定的时间间隔向服务端发出请求,以频繁请求的方式来保持客户端和服务器端的同步
这种同步方案的缺点是,当客户端以固定频率向服务 器发起请求的时候,服务器端的数据可能并没有更新,这样会带来很多无谓的网络传输,所以这是一种非常低效的实时方案
长轮询:是对定时轮询的改进和提高,目地是为了降低无效的网络传输
当服务器端没有数据更新的时候,连接会保持一段时间周期直到数据或状态改变或者 时间过期,通过这种机制来减少无