【问题标题】:XMPP and custom Openfire with static IPXMPP 和具有静态 IP 的自定义 Openfire
【发布时间】:2013-10-11 19:04:00
【问题描述】:

我的电脑上安装了openfire服务器(名称:duong2179-pc,静态公网IP:20x.25x.xxx.xxx)。我还安装了 Spark 并注册了 2 个帐户:test1 和 test2。我使用 Smack 开发了一个小型桌面 Java 应用程序。

我在 Spark 上登录了 test1,在我的应用程序上登录了 test2,两个帐户的格式如下:test@20x.25x.xxx.xxx,然后我遇到了麻烦:test1(在 Spark 上)可以向 test2(Java 应用程序)发送消息) 但 test2 无法发回。这是问题的根源:

sendMessage(message, "test1@20x.25x.xxx.xxx);

我试着改了一点,比如

sendMessage(message, "test1@duong2179-pc");

然后效果很好。

那么这里的不同点是什么?

请注意,当我登录 Spark 时,我使用的服务器是 20x.25x.xxx.xxx 而不是 duong2179-pc

【问题讨论】:

    标签: java xmpp openfire


    【解决方案1】:

    发送xmpp消息时,接收方的JID(Jabber ID)由三部分组成, 用户信息 (test1)、xmpp 域 (duong2179-pc) 和可选资源。

    user@xmpp.domain/resource
    

    此域不是主机地址,它是您服务器上配置的 xmpp 域。

    碰巧安装openfire时的默认域是安装它的机器的主机名。因此 xmpp 域和主机名恰好是相同的,这就是为什么第二种情况有效,但不是第一种。

    如果您打开服务器上的管理控制台并将域名更改为其他名称,则任何示例行都不起作用。

    【讨论】:

    • 我看到了。我把域名改成了20x.25x.xxx.xxx,现在两个都正常了。
    • 但是域名应该是什么,设置为IP地址会有什么影响?哪个是首选
    猜你喜欢
    • 2014-07-14
    • 2019-05-25
    • 2014-05-07
    • 2014-06-16
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 2019-07-26
    • 2018-10-22
    相关资源
    最近更新 更多