2011-06-14 45 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已經連接的?

是的,你可以。

相關問題