Tính n ng này c a XMPP là khá quan tr ng, v i tính n ng này giúp m t th c th có th tìm hi u v các th c th khác trên m ng, có th là các tính n ng ho c giao th c mà th c th này có th h tr , giúp vi c giao ti p thu n ti n h n khá
nhi u.
c đnh ngh a trong XEP-0030, service discovery cung c p 2 ph ng th c c b n đó là disco#items và disco#info. disco#items giúp xác đnh m t th c th trên m ng, trong khi đó disco#info s xác đnh các tính n ng mà th c th đó h tr .
Ví d s d ng disco#items:
<iq from=” user01@test.xmpp/home” id=”idaavssw”
to=” test.xmpp”
type=”get”
<query xmlns=”http://jabber.org/protocol/disco#items”/> </iq>
ví d này user01 yêu c u đ c cung c p m t s thông tin v server mà c th đây là các thành ph n c a test.xmpp. Sau khi nh n đ c yêu c u server s g i tr l i k t qu cho user01:
<iq from=” test.xmpp” id=”idaavssw” to=” user01@test.xmpp/home” type=”result” <query xmlns=”http://jabber.org/protocol/disco#items”> <item jid=”conference.test.xmpp”/> </query> </iq>
K t qu cho th y test.xmpp có h tr conference.test.xmpp là kh n ng t ch c các cu c h i tho i nhóm. User01 c n bi t chi ti t h n các tính n ng h tr b i conference.test.xmpp, khi đó m t IQ-get v i thành ph n disco#info s đ c g i lên conference.test.xmpp:
<iq from=” user01@test.xmpp/home” id=”idafsssw”
to=” conference.test.xmpp” type=”get” <query xmlns=”http://jabber.org/protocol/disco#info”/> </iq> conference.test.xmpp s g i tr k t qu nh ng tính n ng mà mình h tr cho user01:
<iq from=” conference.test.xmpp” id=”idafsssw”
to=” user01@test.xmpp/home”
type=”result”
<query xmlns=”http://jabber.org/protocol/disco#info”>
<identity category=”conference” type=”text”
name=”chatrooms”/> <feature var=”http://jabber.org/protocol/muc”/> <feature var=”jabber:iq:register/> <feature var=”vcard-temp”/> </iq> D a trên k t qu user01 có th bi t đ c các ch c n ng mà
conference.test.xmpp cung c p: http://jabber.org/protocol/muc (XEP-0045) d ch v chat nhóm s đ c đ c p trong các ph n sau, jabber:iq:register
(XEP-0077) đ ng ký tài kho n “in-band”, vcard-temp (XEP-0054) thông tin tài kho n.