2010-12-07 7 views
0

jabber 프로토콜을 통해 보낸 메시지의 보낸 사람을 확인하는 방법을 이해하지 못합니다. 내가 다음 메시지가 표시되면 XML은 다음과 같습니다xmpp (jabber) 프로토콜에서 보낸 사람 식별

<message from="[email protected]/QIP" to="[email protected]/Talk.v10576F328E0" stime="1291746351249" xml:lang="ru" type="chat" id="qip_45"> 
    <body>Hi. I'm fine.</body> 
    <active xmlns="http://jabber.org/protocol/chatstates"/> 
</message> 

에서와 속성에 있습니다. 그때 메시지를 보낼 경우
는 XML은 다음과 같습니다

<message to="[email protected]" type="chat" id="42"> 
    <body>Hello. How are you?</body> 
    <active xmlns="http://jabber.org/protocol/chatstates"/> 
</message> 

는로부터 속성 없습니다. 고객이 메시지를 보낸 사람을 어떻게 알 수 있습니까?

영어로 죄송합니다. 감사.

답변

5

XMPP 서버는 보낸 사람이 다른 클라이언트를 가장하려고 시도하지 않았 음을 확인하기 위해 '보낸 사람'속성이 지정된 경우 유효성을 검사하거나 지정되지 않은 경우 '보낸 사람'속성을 추가해야합니다. 일반적으로 'from'을 생략하고 서버가 클라이언트 연결의 JID를 기반으로 서버를 연결한다고 가정 할 수 있습니다.

정확한 규칙은 RFC 3920 (링크는 "XML Stanzas"섹션으로 이동)을 참조하십시오.

+0

그런 다음 인증 프로세스를 확인하고 JID 및 IP 주소를 저장해야합니까? 올바르게 이해합니까? – user348173

+0

@ user348173 - 발신자가 어떤 "신분증"을 찾고 있습니까? JID 자체는 XMPP의 * 식별입니다. – DashK

+0

자신의 JID를 추적하는 데는 여러 가지 이유가 있습니다. 가장 중요한 것은 사용자의 연결에서 어떤 존재하는 알림인지 알 수 있으므로 무시할 수 있습니다 . 그 JID를 보낸 사람 주소로 사용하는 것은 좋은 이유가 아닙니다. 그레그 (Greg)가 말한 것처럼 (거의) 항상 From 주소를 생략해야합니다. 서버가 올바른 작업을 수행하므로 대화 상대가 메시지를 받으면 발신 주소가 올바르게 설정됩니다. –

관련 문제