可能存在客户端在收到消息后立即断开与服务器的连接的情况。服务器不确定客户端是否收到消息并重新发送消息。现在,客户端如何识别此消息是新消息还是已经处理过? XMPP是否将任何唯一标识符与每条消息相关联以消除重复项?
答案 0 :(得分:1)
默认情况下,服务器不会重新传递邮件,只是因为服务器是'#34;不确定"如果客户收到它。发送给客户=="已发送"。
但是为了获得更高的可靠性,可以使用XEP-0198扩展名。这避免了重复的消息,因为当客户端重新连接到服务器时,它会告诉服务器它接收了多少消息(节,而不是节)。服务器将其与发送给客户端的节数进行比较。如果客户端没有全部收到它们,它只会重新发送客户端错过的那些。
此机制避免了必须为每条消息分配唯一标识符。