"리스너" 콘솔을 설정합니다:
mosquitto_sub -h test.mosquitto.org -t "myTopic" -v
mosquitto_pub
반환 오류:
pi@raspberrypi:~ $ mosquitto_pub -h test.mosquitto.org -t 'myTopic' -m 'hello world'
**Error: The connection was lost.**
구문 문제를 진단하기 위해 명령줄에서 어떤 단계를 수행할 수 있습니까?
고쳐 쓰다:
MQTT 서버를 iot.eclipse.org
오류 없이 교체하고 예상대로 페이로드를 반환합니다.
리스너 콘솔 설정:
mosquitto_sub -h iot.eclipse.org -t "myTopic" -v
페이로드 보내기:
mosquitto_pub -h iot.eclipse.org -t 'myTopic' -m 'hello world'
mosquitto_pub
반품:
pi@raspberrypi:~ $ mosquitto_sub -h iot.eclipse.org -t "myTopic" -v
myTopic hello world
포스트 페이로드:
pi@raspberrypi:~ $ mosquitto_pub -h test.mosquitto.org -t 'myTopic' -m 'hello world'
MQTT 브로커를 변경하면 구문 오류가 표시되지 않지만 원래 테스트에서 오류가 반환된 이유에 대한 의문이 남아 있습니다.
답변1
답변2
--insecure 옵션을 추가하면 이 오류가 해결되는 것으로 나타났습니다.
mosquitto_pub -t mqtt-topic -m "sample-msg-1" --insecure
내 mqtt 서버는 모두 내부에 있고 포트는 모두 docker 내부에 있으므로 --insecure 옵션은 실제로 내 경우에는 추가 노출을 추가하지 않습니다. mqqts(암호화됨) 대신 mqqt(암호화되지 않음)를 사용해야 한다고 생각했기 때문에 이것이 왜 나에게 효과적인지 모르겠습니다.