문제

Smack API에 소스 코드를 읽고 XMPPConnection# 메소드를 읽고 있습니다.연결을 끊습니다 이렇게 보인다 :

public void disconnect(Presence unavailablePresence) {
    // If not connected, ignore this request.
    if (packetReader == null || packetWriter == null) {
        return;
    }

    shutdown(unavailablePresence);

    if (roster != null) {
        roster.cleanup();
        roster = null;
    }

    wasAuthenticated = false;

    packetWriter.cleanup();
    packetWriter = null;
    packetReader.cleanup();
    packetReader = null;
}

내 시나리오에서는 세션이라는 클래스 내에 라이브 XMPPConnection을 저장하고 있습니다. 별도의 실행 스레드는 세션#을 호출하여 XMPPConnection 인스턴스를 닫으려고 시도합니다.일시 휴업(). 내가 알 수 있듯이, 나는 뮤텍스 같은 것을 얻음으로써 xmppconnection을 닫기 위해 세션에 협조해야 할 것이다. 옳은?

도움이 되었습니까?

해결책

A 인 것 같습니다 알려진 버그.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top