近期项目涉及到IM功能,使用到一个好用的支持WebSocket的IM开源框架:Socket.IO ;它是一个完全由JavaScript实现、基于Node.js、支持WebSocket的协议用于实时通信、跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js。Socket.IO除了支持WebSocket通讯协议外,还支持许多种轮询(Polling)机制以及其它实时通信方式,并封装成了通用的接口,并且在服务端实现了这些实时机制的相应代码。Socket.IO实现的Polling通信机制包括Adobe Flash Socket、AJAX长轮询、AJAX multipart streaming、持久Iframe、JSONP轮询等。Socket.IO能够根据浏览器对通讯机制的支持情况自动地选择最佳的方式来实现网络实时应用。
Socket.IO设计的目标是构建能够在不同浏览器和移动设备上良好运行的实时应用,如实时分析系统、二进制流数据处理应用、在线聊天室、在线客服系统、评论系统、WebIM等。目前,Socket.IO已经支持主流PC浏览器(Safari、Chrome、Firefox等)和移动平台上的浏览器(iOS平台下的Safari、Android平台下的基于Webkit的浏览器等,并提供一系列开源库用于服务端和移动应用的开发。可以说使用Socket.IO框架,我们可以方便快速的开发出一套集网页端,移动应用端,PC端的小型即时通讯系统。
网址:http://socket.io/
SoketIO使用篇:http://blog.csdn.net/thelittleboy/article/details/46538335