안녕하세요, 제 문제는 장치 (클라이언트)가 온라인 상태인지 아닌지 상태를 유지해야한다는 것입니다.
나는 클라이언트 ID를 통해 연결하고 있으며 구독하면 장치가 연결 해제되었음을 알 수 있지만 다시 연결되면 어떻게 다시 연결되는지 확인할 수 있습니다.
짧은 대답은 (프로토콜 수준에서)하지 않는다는 것입니다.
게시자와 구독자는 서로를 완전히 인식하지 못하며 메시지는 특정 구독 클라이언트가 아닌 주제로 전송됩니다.
약간 더 긴 버전 :
유지 된 메시지와 LWT (Last Will & Testament)로 무언가를 할 수 있습니다.
예 :
각 클라이언트는 보관 된 메시지를 다음 주제에 게시합니다.
online/<clientID>
true
연결될 때 의 페이로드와 함께 . 또한 false
클라이언트가 네트워크 오류로 인해 연결이 끊어진 경우 페이로드를 게시 할 LWT를 설정합니다 . 클라이언트가 완전히 연결 해제되면 false
오프라인으로 전환하기 전에 마지막 작업 인 페이로드 를 게시해야합니다 .
클라이언트가 온라인인지 확인하려면의 와일드 카드 주제를 구독 online/+
한 다음 주제의 마지막 세그먼트에서 clientid와 상태에 대한 페이로드를 확인합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다