socket.io简介

来源:互联网 发布:js 添加卡片效果 编辑:程序博客网 时间:2024/06/02 16:32

Socket.IO简介

1.概述

Socket.IO是一个完全由JavaScript实现、基于Node.js、支持WebSocket的协议用于实时通信、跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js.

2.支持

Socket.IO除了支持WebSocket通讯协议外,还支持许多种轮询(Polling)机制以及其它实时通信方式,并封装成了通用的接口,并且在服务端实现了这些实时机制的相应代码。

  1. WebSocket: 是HTML5的一种新通信协议,它实现了浏览器与服务器之间的双向通讯。
  2. 多种Polling机制(轮询):
    1. Adobe Falsh Socket
    2. AJAX长轮询
    3. AJAX multipart streaming
    4. 持久Iframe
    5. JSON 轮询

Socket.IO会根据浏览器对通讯机制的支持情况,字典选择最佳方式实现网络实时通信.

3. 跨平台

Socket.IO是为了构建不同浏览器和移动设备上实时应用.
具有众多强大功能的模块和扩展API: 如(session.socket.io)(http session中间件,进行session相关操作)、socket.io-cookie(cookie解析中间件)、session-web-sockets(以安全的方式传递Session)、socket-logger(JSON格式的记录日志工具)、websocket.MQ(可靠的消息队列)、socket.io-mongo(使用MongoDB的适配器)、socket.io-redis(Redis的适配器)、socket.io-parser(服务端和客户端通讯的默认协议实现模块)等。

4. 原理.

Socket.IO实现了实时、双向、基于事件的通讯机制,它解决了实时的通信问题,并统一了服务端与客户端的编程方式。
启动了Socket以后,就像建立了一条客户端与服务端的管道,两边可以互通有无。它还能够和Express.js提供的传统请求方式很好的结合,即可以在同一个域名,同一个端口提供两种连接方式.

0 0
原创粉丝点击