本节描述了每个 SailsSocket 实例上可用的方法。大多数这些方法可以在套接字甚至连接到服务器之前调用。对于像 .get()
和 .request()
这样的请求方法,调用将排队直到套接字连接,然后按顺序执行。
您将在 SailsSocket 实例中使用最常见的方法在主要的 Socket 客户端参考部分进行了介绍。这些包括 .get()
、.put()
、.post()
、.delete()
、.request()
、.on()
和 .off()
。
除了基本的通信和事件监听方法外,每个 SailsSocket 实例(包括 io.socket
)都公开了几种用于处理服务器连接的方法。
.isConnected()
确定 SailsSocket 实例当前是否已连接到服务器;如果已建立连接,则返回 true
。
io.socket.isConnected();
.isConnecting()
确定 SailsSocket 实例当前是否正在连接到服务器;如果正在尝试连接,则返回 true
。
io.socket.isConnecting();
.mightBeAboutToAutoConnect()
检测 SailsSocket 实例是否已加载但尚未完全配置或尚未尝试自动连接。
sails.io.js
库在检查 autoConnect
是否已启用并在启用时尝试连接之前等待事件循环的一个周期。这允许您在尝试建立连接之前配置 SailsSocket
实例(例如,通过设置 io.sails.url
)。mightBeAboutToAutoConnect()
方法在 sails.io.js
已加载但事件循环的必要周期尚未过去的情况下返回 true
。
io.socket.mightBeAboutToAutoConnect();
.disconnect()
断开 SailsSocket 实例与服务器的连接;如果套接字已断开连接,则抛出错误。
io.socket.disconnect();
.reconnect()
在 SailsSocket 实例断开连接(无论是无意断开还是通过调用 .disconnect()
)后重新连接到服务器。该实例使用其当前配置的 属性 连接。如果套接字已连接到服务器,则 .reconnect()
会抛出错误。
io.socket.reconnect();
当实例处于断开连接状态时,可以更改其属性。这意味着已断开与一个服务器连接的实例可以在不丢失其事件绑定或排队请求的情况下重新连接到另一个服务器。
.removeAllListeners()
停止监听 SailsSocket 实例上的任何与服务器相关的事件,包括 connect
和 disconnect
。
io.socket.removeAllListeners();