[mqtt.js, mosquitto] WebSocket connection to failed

2024. 1. 26. 14:20

무슨 일이 있었나요?

mqtt 통신을 해야할 일이 있어 mqtt.js를 사용하여 mqtt 통신을 시도했음.

처음에 EMQX에서 제공하는 public broker에 연결했을 때 subscribe, publish 모두 잘되는 것을  확인한 후 OK 되는구나하고 넘겼는데

다른분이 mosquitto로 구축하신 broker와 연결했더니 나를 반기는 에러...

WebSocket connection to failed

 

열심히 삽질을 하다가 MQTTX를 쓰면서 힌트를 얻었는데.. MQTTX에서 broker와 연결할 때 ws:로 했을 때는 안됐는데 mqtt: 로 설정하니 잘되는 것.. 이때 슬슬 집나간 눈치가 돌아왔고 다른 블로그를 통해서 mosquitto는 웹소켓 통신을 하기 위해서 추가 설정이 필요한걸 알았음..

 

 결론

알고보니

웹과 통신하려면 웹소켓을 이용해야하는데 mosquitto는 웹소켓 통신을 위한 추가적인 설정이 필요하다...

 

how to

mosquitto.conf 파일을 수정해줬어야했다.

mosquitto.conf 파일 위치 : /opt/homebrew/etc/mosquitto

 

:맨 아래 쪽에 설정 추가

//mosquitto.conf
listener 9001
protocol websockets

#mqtt
listener 1883
protocol mqtt

 

여기까지만 하면 다음과 같은 오류가 발생.

Client <unknown> closed its connection.

 

#allow_anonymous false 주석 해제 한 후 false를 true로 바꿔주니 해결됨.

 

열심히 들어오는 값들..

 

'내가 해냄' 카테고리의 다른 글

웹 성능 최적화(1)  (0) 2023.11.30
캐러셀 구현하기(1)  (1) 2023.06.04
이메일 클릭 시 강제 복사 시키기  (0) 2023.04.12

BELATED ARTICLES

more