在ActiveMQ WebSockets中,可以设置心跳的宽限期以让客户端有更多的时间发起新的心跳。在Stomp协议中,可以设置heart-beat header来控制心跳间隔时间,例如:
heart-beat:10000,20000
其中,第一个数值表示服务端发送心跳请求的时间间隔,第二个数值表示客户端发送心跳请求的时间间隔。
通过设置第二个数值,可以实现心跳的宽限期,即在超过心跳间隔时间未收到客户端心跳响应时,服务端会等待一段时间后再次发起心跳请求,避免误判客户端已经断开连接。
以下是设置heart-beat header的示例代码:
// 设置心跳间隔为10秒,宽限期为5秒 var headers = { "heart-beat": "10000,15000" };
// 向服务端发送消息时带上headers参数 client.send(destination, headers, body);