【问题标题】:ejabberd disconnects on bad XML messageejabberd 在错误的 XML 消息上断开连接
【发布时间】:2019-08-08 14:16:30
【问题描述】:

如果 Ejabberd 遇到来自客户端的错误 xml,它将与客户端断开连接。 是否可以将 ejabberd 配置为在这种情况下不断开连接?

【问题讨论】:

  • “与客户端断开连接”是什么意思?当无效的 XML 从客户端发送到服务器时,是只有客户端与服务器断开连接并且服务器运行正常,还是服务器也关闭了?
  • 服务器断开该特定客户端的连接,从那里收到错误的 xml。否则服务器运行正常。
  • 当客户端发送了无效的 XML 时,为什么要保持连接打开?当客户端不使用正确的协议与服务器通信时,断开连接听起来很合理。
  • 遇到同样的问题,有什么更新吗?

标签: xml ejabberd disconnect


【解决方案1】:

我在https://docs.ejabberd.im/admin/configuration/ 中没有找到任何相关选项,我想这不会存在。

【讨论】:

    【解决方案2】:

    您可以使用重新连接机制,以便应用程序可以在互联网连接丢失或发生错误时自动重新连接(取决于您的要求)。

    例如,这是reconnection manager for Smack

    您可能会找到解决方案的一些类似问题

    【讨论】:

      【解决方案3】:

      服务器在格式错误的 XML 上断开连接是标准行为,因为没有从此类错误中恢复的好方法。例如,如果您忘记关闭一个标签,那么您的整个流就会中断,因为所有节都突然处于错误的级别。

      客户端没有理由发送无效的 XMPP 节。这应该被视为要在客户端中修复的错误。 如果您接受导致节格式错误的用户输入,则需要正确编码/转义内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-31
        • 1970-01-01
        • 1970-01-01
        • 2014-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-03
        相关资源
        最近更新 更多