繁体   English   中英

XMPP和具有静态IP的自定义Openfire

[英]XMPP and custom Openfire with static IP

我已经在计算机上安装了openfire服务器(名称:duong2179-pc,静态公共IP:20x.25x.xxx.xxx)。 我还安装了Spark并注册了2个帐户:test1和test2。 我使用Smack开发了一个小型的Desktop 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

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

user@xmpp.domain/resource

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

碰巧的是,当您安装openfire时,默认域是其安装所在计算机的主机名。 因此,xmpp域和主机名恰好是相同的,这就是第二种情况起作用而第一种情况不起作用的原因。

如果您在服务器上打开管理控制台并将域名更改为其他名称,那么这两个示例行都​​将无法使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM