我们都知道,传统的web应用对于处理实时性请求比较无力,抛开flash和java applet这样的方式,要想实现从服务端到客户端的消息推送,是非常困难的(当然,可以利用ajax长请求这样的解决方案)。归根结底,是因为http协议本身就被设计成requst -- response,即请求--响应模式。客户端发送请求,服务端进行处理,完成后返回响应,这样的模式对于传统的web应用来说非常有效(请求完成后释放,对于web应用的伸缩性非常有利),但是,对于游戏一类的实时性要求很高的应用,根本无能为力。目前主流的web游戏,也无非借助flash一类技术中的socket链接实现实时。但是,这样的情况在html5中得到了改观。在html5标准中新加入了web socket的技术,旨在解决前面描述的web应用实时性问题。socket.io是nodejs对于web socket的实现,包含客户端和服务端两部分,共同完成实时性任务。
1.要想使用socket.io,首先需要下载相应的库。node的npm使得这个过程毫不费力,只需连通网络,输入要下载的库即可,npm会自动下载依赖的库。
2. 通过require引入socket.io模块,即可实现一个简单的socket.io模块。
3.将客户端的javascript库copy到js目录下,在页面中通过script标签引用即可开始编写客户端部分了。
详细的例子就不再列出了, 无图有真相。