2012-05-13 2 views
0

AMQP와 XMPP의 차이점을 이해하려고 노력 중입니다. XMPP에 대기열이있는 것처럼 작동하는지 이해하지 못하는 경우가 있습니다. 다양한 클라이언트에게 메시지를 보내면 그 중 하나가 작동 중지되면 어떻게됩니까? 서버가 클라이언트까지 메시지를 다시 대기열에 넣거나 작동하는 방법은 무엇입니까? JID가 오프라인 상태 일 때 그것은 XMPP 서버 구현에 따라 달라집니다XMPP에서 지속성은 어떻게 작동합니까?

감사

답변

2

는 메시지와 IQ의이 handeld하는 방법. Section 11.1 of RFC 3921 :

그렇지

JID의 형식과 스 D가 이 처리되는 스탠자 유형에 따라 어떻게 사용자와 연관된 가능한 자원이없는 경우 :

이 ...

메시지 스탠자의 경우, 서버는 사용자 대신 에 스 D자를 저장하고 사용자가 다음에 사용 가능한 경우 이 될 때 전달하거나 다른 수단을 통해 사용자에게 메시지를 전달할 수 있습니다 (예 : 사용자의 전자 메일 계정). 그러나 오프라인 메시지 저장 또는 메시지 전달이 사용 가능하지 않은 경우, 서버는 을 보낸 사람에게 스탠자 오류를 반환해야합니다. (참고 : 오프라인 메시지 저장 및 메시지 전달은 때문에 그들은 엄격하게 구현 및 서비스 프로비저닝의 문제이며, XMPP에 정의되어 있지 않습니다.) IQ 스탠자를 들어

, 서버 자체는 사용자 대신에 응답해야 IQ 결과 또는 IQ 오류. 특히, 한정 이름 공간의 의미론이 서버 이 제공 할 수있는 응답을 정의하는 경우, 서버는 사용자 대신에 스탠자에 응답해야합니다. 그렇지 않은 경우, 서 v는 스 D 자 오류로 응답해야합니다.

+0

감사합니다. 그래서 QUEUE 시스템과 매우 유사 할 수 있습니다. 차이를 확인하는 것은 어렵습니다. –

+2

XMPP에서 종단 간 배달 보장이 없음을 명심하십시오. 짧은 대기 시간을 염두에두고 2 단계 커밋을 통해 각 홉에서 안전하게 저장합니다. –

관련 문제