2012-05-18 2 views
2

XMPP 사양에서는 클라이언트가 XMPP 서버에 연결할 때 현재 상태를 브로드 캐스트해야한다고 명시합니다. Strophe에는 XMPP 서버에 연결하고 연결하는 두 가지 방법이 있습니다. Connect는 전체 승인을 수행하고 첨부는 기존 연결에 다시 연결하기위한 것입니다. attach를 사용할 때, 클라이언트는 서버에 존재를 방송해야합니까?Strophe를 통해 연결 (연결하지 않음) 할 때 XMPP 서버에 현재 상태를 브로드 캐스트해야합니까?

내 테스트에서 연결 상태를 브로드 캐스팅하지 않으면 클라이언트가 다른 사용자로부터 메시지 (존재, 메시지 또는 기타)를 수신하지 못하고 클라이언트가 스탠자를 보내려고 시도하는 것처럼 보입니다. 즉시 서버에 의해 연결이 끊어졌습니다. 마치 서버가 사용자가 브로드 캐스트하지 않고 연결되었다는 것을 모르는 것처럼 보입니다.

이것은 내 자신의 질문에 답하는 것처럼 보입니다. 그러나 서버에 버그가 있는지 또는 내가 잘못했거나 예상되는 동작인지 궁금합니다.

답변

2

어딘가에 버그가 있습니다. 즉, 붙인 말은 입니다. - 원래 세션을 계속 진행하고 있습니다. 서버는 심지어 그것이 일어난 것을 모르고있다!

주의해야 할 점 - 이전 코드가 여전히 열려 있고 동일한 세션을 사용하여 여러 가지가있는 경우 쉽게 설명 할 수 있습니다.

그래도 문제가 해결되지 않으면 코드 또는 적어도 첨부 된 세션의 로그를 보는 것이 유용 할 수 있습니다 (예 : 서버와의 연결 해제, 어떤 오류가 발생했는지 등).

+0

버그가있었습니다. :-( –