gpt4 book ai didi

xmpp - Google Talk 如何跨设备复制消息?

转载 作者:行者123 更新时间:2023-12-04 22:37:08 26 4
gpt4 key购买 nike

我想知道(官方)GTalk 客户端如何设法显示接收到的所有 消息——即使它最初是由另一个客户端使用的。例如:我在笔记本电脑上登录 gmail.com 上的 GTalk,同时在我的 Android 设备上通过官方 GTalk 应用程序登录。一位 friend 向我发送了一条消息,该消息显示在 gmail.com 客户端和 Android 客户端的上。 (我认为它最初只转发给其中一个客户端,但第二个客户端稍后获取消息)

我最近发现有一个非常相似的 XMPP 功能,称为 Carbons .但是,在快速服务发现请求之后,Google 的服务器并没有公布此功能。 XEP-0313 和 XEP-0136 看起来也不错,但服务器也不为它们做广告。

可能相关的问题:Deliver Google Talk message to all logged in clients using XMPPPY

最佳答案

当您开始新的聊天时,您应该将第一条消息发送给用户 bare Jid。这是大多数客户正在做的事情。当 GTalk 服务器检索到一个裸 Jid 的聊天消息时,它会将消息路由到所有可用资源。对于此对话中的所有后续消息,客户端通常会选择资源并将它们发送到完整的 Jid。那时不应复制消息。

许多其他服务器不会将消息路由到裸 Jid 到所有资源,而是路由到最可用的资源,即具有最高优先级的客户端。

这是 RFC 的引用:

If there is more than one resource with a non-negative presence priority then the
server MUST either
(a) deliver the message to the "most available" resource or
resources (according to the server's implementation-specific algorithm, e.g., treating
the resource or resources with the highest presence priority as "most available") or
(b) deliver the message to all of the non-negative resources.

关于xmpp - Google Talk 如何跨设备复制消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14821042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com