Socket.io 事件列表
Posted
技术标签:
【中文标题】Socket.io 事件列表【英文标题】:List of Socket.io Events 【发布时间】:2014-08-05 03:11:12 【问题描述】:有谁知道 Socket.io 中内置了哪些事件?
例如:connection
、disconnect
、join
等
【问题讨论】:
【参考方案1】:这是我在官方文档中找到的所有内容:
Client-side events for socket.io
object:
connect
。连接成功时触发。
connect_error
。在连接错误时触发。参数:
Object
错误对象
connect_timeout
。在连接超时时触发。
reconnect
。成功重新连接后触发。参数:
Number
重连尝试次数
reconnect_attempt
。尝试重新连接时触发。
reconnecting
。尝试重新连接时触发。参数:
Number
重连尝试次数
reconnect_error
。在重新连接尝试错误时触发。参数:
Object
错误对象
reconnect_failed
。在reconnectionAttempts
内无法重新连接时触发
Client-side events for socket
object:
connect
。连接时触发。
error
。连接错误时触发参数:
Object
错误数据
disconnect
。断开连接时触发。
reconnect
。成功重新连接后触发。参数:
Number
重连尝试次数
reconnect_attempt
。尝试重新连接时触发。
reconnecting
。尝试重新连接时触发。参数:
Number
重连尝试次数
reconnect_error
。在重新连接尝试错误时触发。参数:
Object
错误对象
reconnect_failed
。在reconnectionAttempts
内无法重新连接时触发
Server-side events:
connection
/connect
。在连接时触发。参数:
Socket
传入的套接字。
编辑:
对于当前版本 (1.3.4
),reconnect_attempt
和 reconnecting
客户端事件是同义词。
【讨论】:
嗯,这不可能,因为它甚至没有列出“断开连接”。文档似乎很不完整。有人有合适的清单吗? @Killroy 我在答案中添加了客户端socket
事件。但是,很遗憾,我在文档和其他地方找不到服务器 socket
事件。
@Killroy 在研究了 socket.io 源代码一段时间后,我得出结论,服务器端套接字与客户端套接字不同。例如,它没有reconnect
、reconnect_attempt
、reconnecting
、reconnect_error
、reconnect_failed
事件,因为在每次重新连接时都会创建新的服务器端套接字。这就是我能说的。如果我发现更多信息,我会告诉你的。
还有一个服务器端“断开连接”事件(已在 1.3.5 中验证),但我实际上无法在任何地方找到它的文档。这些文档的用法是如此抽象(cough 可怕的cough),我可能只是在看错误的东西。
重要!还有更多事件,但是我们都可以得出结论,文档很烂。这个问题 (github.com/socketio/socket.io/issues/1814) 关于一个新事件(正式实施花了 2 年时间) - 而且无处可寻。但是,它就在那里 - 事件 disconnecting
可能很有用。以上是关于Socket.io 事件列表的主要内容,如果未能解决你的问题,请参考以下文章