在通常情况下,发送 SC_CALLBACK_REG 消息的客户机将收到指明注册是成功还是失败的回复。
但是,服务器可能会在客户机进行注册时遇到错误状态,该错误状态禁止服务器向客户机发送 SC_REPLY 消息。在这种情况下,注册可能已经在发生错误之前成功完成,也可能已经失败,还可能尚未进行。
由于服务器必须在群集中起故障转移或具有高可用性的服务器的作用,因此,这种错误状态并不意味着服务的结束。实际上,服务器可以很快开始向新注册的客户机发送事件。
要摆脱这些状态,客户机应执行以下操作:
在等待 SC_REPLY 消息的注册连接上强加应用级超时值,超出此超时值后客户机必须重新尝试注册。
在注册事件回调之前,开始在其回调 IP 地址和端口号上侦听事件传送。客户机应当同时等候注册确认消息和事件传送。如果客户机在接收到确认消息之前就开始接收事件,客户机将静默关闭注册连接。