2014-12-25 3 views
0

나는 아래의 코드를 공개 안한다 ->MQTT JS을 마지막 메시지는

var last_will = new Paho.MQTT.Message("last message"); 
last_will.destinationName = "Bridge123"; 
client = new Paho.MQTT.Client("broker.mqttdashboard.com", Number("8000"), "AX123"); 
client.onConnectionLost = onConnectionLost; 
client.onMessageArrived = onMessageArrived; 
client.connect({onSuccess:onConnect} , {willMessage:last_will}); 

나는 마지막 의지의 메시지를 기대 클라이언트가 내가 만든 주제에 전송되는 분리 할 때 .. PAHO를 사용하고 mqtt 버전 -3.1 .. 웹 소켓이 잘 만들어지고 있지만 마지막 메시지가 표시되지 않습니다 ...

여기 누구든지 가이드 할 수 있습니까?

내가 MQTT를 통해 주제 "IOT1"로컬 환경과 출판의 IOT 장치의 켜짐/꺼짐 상태 파이썬 스크립트 P 수집 전류를 가지고 더 큰 그림을 추가

. 내가 장치를 과부하 상태로 IOT 장치에서 상태를 얻으려면 파이썬 스크립트를 항상 실행하고 싶지 않습니다.이 문제를 해결하려면 요청을 보내는 스레드를 실행하거나 일시 중지하도록 "IOT1"항목에 대한 활성 클라이언트를 찾아야합니다. 로컬 환경의 IOT 장치 ..이 메시지를 알 수있는 마지막 메시지가 아닌 다른 방법이 있습니까?

답변

1

마지막 윌과 성서 메시지는 클라이언트가 깨끗하게 연결을 끊지 않은 경우에만 게시됩니다.

정상적으로 연결을 닫으면 전송되지 않습니다.

서버가 제한 시간 내에 메시지 또는 ping 패킷을받지 못한 경우에만 서버에서 메시지를 보냅니다.

+0

어떻게하면 코드에서 쉽게 처리 할 수 ​​있습니까? –

0

willMessage는 첫 번째 개체의 속성이어야합니다. 아래 코드 스 니펫을 참조하십시오.

client.connect({onSuccess:onConnect, willMessage:last_will});