gpt4 book ai didi

XMPP:多个用户可以通过同一个 TCP 连接连接到服务器吗?

转载 作者:行者123 更新时间:2023-12-02 21:37:18 24 4
gpt4 key购买 nike

我的客户端通过自定义协议(protocol)与我的服务器通信。现在我正在添加由 XMPP 服务器(ejabberd)支持的聊天系统。我的服务器将通过代表其所有客户端登录 XMPP 服务器,将用户消息隧道传输到 XMPP 服务器。

由于单个服务器可以有多个客户端,因此从我的服务器到 XMPP 服务器有一个 TCP 连接就可以了。这可能吗?如果是,该怎么做?我对XMPP还不熟悉。

似乎 XML 流在开始时打开并在结束时关闭,并且关闭标记没有任何指示要关闭哪个流。所以我假设我不能通过同一个 TCP 连接拥有多个 XML 流。请指正。

我可以尝试使用不同的用户名多次登录,并在允许的任何地方指定“来自”。我注意到在很多地方“from”属性是可选的,ejabberd 可以假设它可能基于连接,所以我担心这是否可能。

最佳答案

对于正常的客户端到服务器连接,每个客户端必须使用单独的连接。客户端通常不会在 XML 流开始标记的 from 属性中发送其 JID,而是在 SASL 身份验证期间标识自己。

ejabberd 支持 XEP-0114 中描述的协议(protocol),您的系统可以作为“组件”连接到 ejabberd,并代表许多不同的用户发送和接收消息。根据您想要做什么,您可能需要重新实现 ejabberd 开箱即用的许多功能,例如状态订阅、名册管理、系统中用户之间的消息路由。在这种情况下,ejabberd 唯一为您做的事情就是将所有消息发送给特定域中的收件人,并路由您发送的所有出站消息。

关于XMPP:多个用户可以通过同一个 TCP 连接连接到服务器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21096758/

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