非常教程

Socket.IO参考手册

客户 | Client

Client

IO(url:String, opts:Object):Socket

如果使用独立构建(例如:或CDN),或者调用的结果,则显示为io全局。window/socket.io/socket.io.jsrequire('socket.io-client')

被调用时,它会Manager为给定的URL 创建一个新的对象,并尝试重新使用现有的Manager对于后续调用,除非该multiplex选项被传递false。传递这个选项相当于传球'force new connection': true

其余的选项传递给Manager构造函数(详见下文)。

一个Socket实例返回由路径URL中指定的命名空间,默认为/。例如,如果urlhttp://localhost/users,则将建立一个传输连接并建立http://localhost一个Socket.IO连接/users

IO#protocol

此客户端使用的Socket.io协议修订号。

IO#Socket

引用Socket构造函数。

IO#Manager

引用Manager构造函数。

IO#Emitter

引用Emitter构造函数。

Manager(url:String, opts:Object)

Manager表示与给定Socket.IO服务器的连接。一个或多个Socket实例与经理关联。经理可以通过io每个Socket实例的属性进行访问。

这些opts也是engine.io在初始化底层的时候传递的Socket

选项: - reconnection是否自动重新连接(true) - reconnectionDelay尝试重新连接前等待的时间(1000) - reconnectionDelayMax重新连接之间等待的最长时间(5000)。每次尝试都会按照指定的数量增加重新连接reconnectionDelay。- 发出timeouta connect_errorconnect_timeout事件之前的连接超时(20000

事件

  • connect。在成功连接后被解雇。
  • connect_error。遇到连接错误时触发。参数:
    • Object 错误对象
  • connect_timeout。连接超时后触发。
  • reconnect。在成功的重新连接之后被解雇。参数:
    • Number 重新连接尝试次数
  • reconnect_attempt。试图重新连接时被解雇。
  • reconnecting。试图重新连接时被解雇。参数:
    • Number 重新连接尝试次数
  • reconnect_error。在重新连接尝试错误时触发。参数:
    • Object 错误对象
  • reconnect_failed。在无法重新连接时触发reconnectionAttempts

上面的事件也发生在重新连接的独立套接字上,这取决于此Manager

Manager#reconnection(v:Boolean):Manager

设置reconnection选项,如果没有参数传递,则返回它。

Manager#reconnectionAttempts(v:Boolean):Manager

设置reconnectionAttempts选项,如果没有参数传递,则返回它。

Manager#reconnectionDelay(v:Boolean):Manager

设置reconectionDelay选项,如果没有参数传递,则返回它。

Manager#reconnectionDelayMax(v:Boolean):Manager

设置reconectionDelayMax选项,如果没有参数传递,则返回它。

Manager#timeout(v:Boolean):Manager

设置timeout选项,如果没有参数传递,则返回它。

Socket

事件

  • connect。连接时发射。
  • error。连接错误时触发参数:
    • Object 错误数据
  • disconnect。在断开连接时触发。
  • reconnect。在成功的重新连接之后被解雇。参数:
    • Number 重新连接尝试次数
  • reconnect_attempt。试图重新连接时被解雇。
  • reconnecting。试图重新连接时被解雇。参数:
    • Number 重新连接尝试次数
  • reconnect_error。在重新连接尝试错误时触发。参数:
    • Object 错误对象
  • reconnect_failed。在无法重新连接时触发reconnectionAttempts

客户 | Client相关

Socket.IO

Socket.IO 是一个面向实时 web 应用的 JavaScript 库。它使得服务器和客户端之间实时双向的通信成为可能。

主页 http://socket.io/
源码 https://github.com/socketio/socket.io
发布版本 1.4.5

Socket.IO目录

1.客户 | Client
2.指南 | Guides
3.服务 | Server