안녕 얘들 아 내 문제는 그들이 온라인 상태인지 여부에 따라 장치 (클라이언트) 상태를 유지해야한다는 것입니다.Mqtt 클라이언트가 다른 클라이언트가 연결되어 있는지 여부를 알 수있는 방법
나는 클라이언트 ID를 통해 연결 중이며 가입 할 때 해당 장치의 연결이 끊어 졌음을 알 수 있지만 다시 연결하면 어떻게 다시 연결되는지 확인할 수 있습니다.
안녕 얘들 아 내 문제는 그들이 온라인 상태인지 여부에 따라 장치 (클라이언트) 상태를 유지해야한다는 것입니다.Mqtt 클라이언트가 다른 클라이언트가 연결되어 있는지 여부를 알 수있는 방법
나는 클라이언트 ID를 통해 연결 중이며 가입 할 때 해당 장치의 연결이 끊어 졌음을 알 수 있지만 다시 연결하면 어떻게 다시 연결되는지 확인할 수 있습니다.
짧은 대답은 (프로토콜 수준에서) 당신이하지 않는다는 것입니다.
게시자와 구독자는 서로를 전혀 알지 못하며 메시지는 특정 구독 클라이언트가 아닌 주제로 전송됩니다.
경미하게 더 긴 버전 :
당신은 유지 메시지와 LWT (마지막 윌 & 성경)
예를 들어, 뭔가를 할 수 이 연결될 때
각 클라이언트는 true
의 페이로드와 함께 다음 항목
online/<clientID>
에 보관 된 메시지를 게시합니다. 또한 네트워크 장애로 클라이언트의 연결이 끊어지면 페이로드를 false
으로 게시하는 LWT를 설정합니다. 클라이언트가 정상적으로 연결을 끊으면 오프라인 상태가되기 전에 마지막 작업이므로 false
페이로드를 게시해야합니다.
클라이언트가 온라인 상태인지 알려면 online/+
이라는 와일드 카드 항목을 구독 한 다음 주제의 마지막 세그먼트 인 clientid와 해당 상태의 페이로드를 확인하십시오.