2016-09-30 2 views
0

사용자가 매개 변수로 jid를 통해 로그인했지만 성공하지 못했는지 확인하는 솔루션을 찾으려고합니다.지정된 JID가 이미 서버에 연결되어 있는지 어떻게 알 수 있습니까?

서버에 로그인하지 않아도이를 확인할 수있는 방법이 있는지 궁금합니다. 로그하기 전에 jid가 이미 로그인되어 있는지 확인한 다음 액세스를 차단하는 메시지로 처리하십시오. agsXMPP 라이브러리를 사용하고 있습니다. 누구든지 해결 방법을 알고 있습니까?

답변

0

로그온하지 않고 서버에서 직접 JID를 통해 현재 상태를 가져올 수 있습니다. 오픈 화재의 예를 들면 : 당신은 그가 온라인인지 아닌지 알 수 있도록

http://example.com:9090/plugins/presence/[email protected]&type=xml

는 사용자의 존재를 당신에게 돌려 줄 것입니다.

나는 agxmpp SDK가 그런 방법을 가지고 있다고 생각하지 않습니다.

+0

어떻게하면됩니까? 계정을 기록한 경우 현재 상태를 확인하는 방법을 호출하면 로그 아웃됩니다. JID에 의해 현재 상태를 확인하지만 이것은 공개 서버에서 처리되며 프로토콜의 메소드는 비동기입니다. –

+0

질문의 문구를 바꿀 수 있습니까? 누군가 (익명)는 JID (공개적으로 서버 쪽에서 구성이 필요함)가 주어지면 공개 상태를 얻을 수 있어야하며 이는 사용자가 온라인인지 오프라인인지를 나타냅니다. 사용자가 로그 오프가 아닌 다른 이유로 떨어지면 항상 존재하는 신디케이션의 일부 지연 때문에 100 % 신뢰할 수 없습니다. –

+0

그래,하지만 아무런 로그인없이 사용자의 존재를 확인하기를 원한다. 예 : X 계정이 있고 서버에 로그인하려는 경우 이미 다른 사람이 이미이 계정을 기록했는지 확인하십시오. 이미 로그인 한 경우 계정이 이미 사용되고 있음을 알리는 알림을 다시 보냅니다. 나는 계정 X에 로그인하고 이미 다른 연결된 사람이있을 경우 서버가 인증하기 전에 설정된 연결을 삭제합니다. –

관련 문제