使用socketio心跳的优点/缺点

Socket.io允许您使用脉动信号“检查Socket.IO连接的运行状况”。心跳到底是什么?为什么我不应该使用它们?

回答:

心跳是一种小消息,它定期从客户端发送到服务器(或从服务器发送到客户端再返回到服务器),以确认客户端仍在活动中。

例如,如果您有一个为聊天室提供服务的Node.js应用程序,并且用户长时间没有说话,则无法判断他们是否仍然保持联系。通过以预定的时间间隔(例如,每15秒)发送一次声音,客户端将通知服务器它仍在那儿。如果距服务器从客户端发出心跳已过去20秒,则可能已断开连接。

这是必需的,因为不能保证通过TCP进行的干净连接终止-如果客户端崩溃或发生其他情况,您将不会从客户端收到终止数据包,并且服务器将不知道客户端已断开连接。此外,Socket.IO支持各种其他机制(TCP套接字除外)来传输数据,在这种情况下,客户端不会(或无法)向服务器发送终止消息。

默认情况下,Socket.IO客户端将每15秒( )向服务器发送一个心跳,如果服务器在20秒内未从客户端听到任何消息(

),它将认为客户端已断开连接。

我想不出您可能不想使用心跳的许多平均用例。

以上是 使用socketio心跳的优点/缺点 的全部内容, 来源链接: utcz.com/qa/434656.html

回到顶部