将xmpp <message>发送到其他域上的组件</message>

时间:2010-04-18 03:43:59

标签: xmpp openfire dyndns

第1步:在同一个域(.myserver.kicks-ass.net)上,我能够成功发送给mycomponent。

第2步:当我登录其他域名,例如gmail.com并尝试发送给另一个用户,测试@ .myserver.kicks-ass.net,也是成功。

第3步:就像step2一样,但我发送到mycomponent.myserver.kicks-ass.net,我得到以下错误

<message xmlns='jabber:client'
         to='mycomponent.myserver.kicks-ass.net'
         from='user@gmail.com/123'
         type='chat'>
<body>
just t4st
</body>
<x xmlns='jabber:x:event'>
<offline/>
<composing/>
</x>
</message>
<message xmlns='jabber:client'
         to='user@gmail.com/123'
         from='mycomponent.myserver.kicks-ass.net'
         type='error'>
<body>
just t4st
</body>
<x xmlns='jabber:x:event'>
<offline/>
<composing/>
</x>
<error code='404'
       type='cancel'>
<remote-server-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
</error>
</message>

1 个答案:

答案 0 :(得分:3)

您是否有以下的SRV记录:

_xmpp-server._tcp.mycomponent.myserver.kicks-ass.net

您可以使用以下shell命令对此进行测试:

 % dig +short -t SRV _xmpp-server._tcp.mycomponent.myserver.kicks-ass.net.

您可以从网络外部远程登录该主机/端口吗?例如:

% dig +short -t SRV _xmpp-server._tcp.jabber.org.
30 30 5269 hermes.jabber.org.
% telnet hermes.jabber.org 5269
Trying 208.68.163.220...
Connected to hermes.jabber.org.
Escape character is '^]'.
<<
<stream:error><bad-format xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error></stream:stream>
Connection closed by foreign host