Socket.IO 使用心跳模式来确保客户端仍然处于连接状态。 如果我能够订阅服务器上的心跳事件,它将解决我的算法。
例如: socket.on“心跳”,-> 我的代码
知道这是否可能吗?
最佳答案
心跳非常频繁,您确定这是正确的吗?我使用“connect”事件,这似乎可以满足您的需要:
connect: (url, options, connectCallback) =>
someFunction = =>
@doSomeRedisStuff() if @connected
@logger.debug "starting connection to url: #{url}"
@socket = @socket.connect(url, options)
@logger.debug "connecting ..."
@socket.on "connect", =>
@logger.info "connected (socket id #{(@socket.socket.sessionid)})"
@connected = true
setTimeout someFunction, 2000
connectCallback() if connectCallback?
@socket.on "disconnect", =>
@connected = false
如果与服务器的连接中断(例如服务器重新启动),则连接事件将在连接恢复时启动。 Socket.IO 在这方面很聪明。
关于javascript - Socket.io 心跳事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18318157/