2011-06-14 46 views
0

我正在实施一个xmpp客户端(Java)。在连接到服务器之前,客户端是否有可能检查给定JID的连接是否已经存在?
根据:can client of the xmpp server disconnect other client from the server?,如果“user @ host/resource”形式的同一完整jid从两个不同的源连接,服务器通常会断开旧连接。如果用户连接来自例如。 Pidgin,网络客户端和我的客户,将不会“资源”总是不同?是否可以与服务器一起检查以“user @ host”形式存在的jid连接是否已经存在,忽略资源部分?如果已经连接了相同的JID,XMPP客户端是否可以连接到服务器?

+0

http://stackoverflow.com/questions/39918099/how-do-i-send-a-ping-to-a-user-xmpp-which-method-do-i-use – 2016-10-07 13:13:44

回答

3

您可以与用户@主机/ XXX连接,然后发送存在消息到您自己的裸JID(用户@主机),你应该从同一裸JID(用户连接任何其他客户端接收存在消息后@主办)。

+0

发送邮件给谁? – Maggie 2011-06-14 14:09:33

+1

存在消息给你自己的裸露的jid。我会更新答案来澄清它。 – ggarber 2011-06-15 14:56:13

1

你最好打赌就是让服务器为你挑选资源。见section 7.6.1 of RFC 6120

C: <iq id='tn281v37' type='set'> 
    <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/> 
    </iq> 

S: <iq id='tn281v37' type='result'> 
    <bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'> 
     <jid> 
     [email protected]/4db06f06-1ea4-11dc-aca3-000bcd821bfb 
     </jid> 
    </bind> 
    </iq> 
0

如果用户从如连接。 Pidgin,网络客户端和我的客户,将不会“资源”总是不同?

是的,会有不同的资源。您可以指定一个或乔·希尔德布兰德说,你可以让服务器为您创建一个随机字符串资源..所以回答你的问题..

XMPP客户端可以连接到服务器,如果同一JID已经连接的?

是的,你可以。

相关问题