2013-12-18 5 views
2

저는 XMPP에서 초급입니다. Strophe js 라이브러리를 사용하고 있습니다.XMPP : Jabber Id로 특정 명단 정보를 쿼리하는 방법

지금 의 jabber ID가 인 특정 로스터 항목을 얻으려고합니다.

하지만 나는 어떤 종류의 스팬을 보내야하는지에 대해 혼란 스럽습니다. &.

나는이 같은 IQ 스탠자를 전송하여 내 명단 목록을 검색 할 수있는 방법이있어 :

<iq from='[email protected]/balcony' 
     id='bv1bs71f' 
     type='get'> 
    <query xmlns='jabber:iq:roster'/> 
</iq> 

을하지만 모든 연락처 목록과 같이 가지고 :

<iq id='bv1bs71f' 
     to='[email protected]/chamber' 
     type='result'> 
    <query xmlns='jabber:iq:roster' ver='ver7'> 
     <item jid='[email protected]' name='Nurse'/> 
     <item jid='[email protected]' name='Romeo'/> 
     <item jid='[email protected]' name='Abc'/> 
     .... 
    </query> 
</iq> 

내 질문은 받는 방법 특정 항목 (단 한 항목 결과) JID을 매개 변수로 보내시겠습니까? 내가 SQL에 의해 설명 할 수 있다면

는 문은 다음과 같습니다이보다는

SELECT * FROM roster WHERE jabberID = .... 

:

나는 그것의 JID가 내 연락처 별명을 얻고 싶은
SELECT * FROM roster 

.

미리 감사드립니다.

+0

이것은 muc의 방 또는 muc의 방의 사용자를위한 것입니까? –

+0

이것은 일반적인 맥락에서 사용자를위한 것입니다, 내 연락처 목록의 사용자 :) –

답변

0

iq에 "to"속성을 추가하기 만하면됩니다. 공동 구독하는 경우 이름을 반환해야합니다.

$ iq ({type : 'get', from : myjid, to : jid}) c ('query', {xmlns : Strophe.NS.ROSTER});

+0

죄송합니다. 마크, 작동하지 않는 것 같습니다. ' ' ' '< ' 유형 ='얻을이 myhost @ 그 '=에 '이 myhost @ 나 =에서 IQ '>'를 을'보낸 그러나 서버는 어떤 응답도하지 않습니다 –

+1

당신의 대안은 명단과 gt를 통해 이런 식으로 반복하는 것입니다. –

+0

그것은 나에 의해 상상되었지만 매우 효율적이지는 않지만 절에 의해 검색 할 수 있기를 바랍니다. 하지만 제안 해 주셔서 감사합니다 :) –

관련 문제