해결된 질문
작성
·
34
·
수정됨
1
안녕하세요~
강의 잘 들었고 도움이 많이 되었습니다.
한가지 오류가 해결되지 않아서 질문 남깁니다.
아래 오류가 발생하는데 원인을 잘 모르겠네요.
(윈도우 환경에서 1개 pc에 파이썬, 자바스프링부트, mqtt 모두 실행하고 있음)
혹시나 해서 방화벽 설정도 해봤어요~
<오류사항>
웹브라우저 localhost:8080/ai로 접속하면, 브라우저에 "MQTT Client Example" 텍스트만 나오고
카메라 화면이 안 나옴
개발자도구 콘솔에서 아래 오류가 발생함.
WebSocket connection to 'ws://localhost:9001/' failed:
Disconnected from broker
<확인 사항>
1. mosquitto.conf 설정 확인
# Config file for mosquitto
# MQTT 기본 리스너 설정
listener 1883
protocol mqtt
# WebSocket 리스너 설정
listener 9001
protocol websockets
allow_anonymous true
2. 실행 순서
1) mosquitto.exe 실행
2) python camera.py 실행 ( 윈도우 화면에서 카메라 내용 정상적으로 나오고 object detect가 잘 됨)
3) 스프링부트 프로젝트 실행후 웹브라우저 접속(http://localhost:8080/ai)
답변 3
1
파이썬에서 카메라 화면이 잘 보인다면 MQTT 서버의 문제일 확율이 높습니다.
직접 해결하신 방법으로 모스키도 서버를 실행하셔도 되고요, 윈도우 서비스에서 Mosquitto Broker가 실행되는지 확인하고 이곳에서 브로커를 실행하는 방법도 있습니다.
1
아~ 해결했습니다. 저만 모르고 있었던건지는 모르겠지만....
윈도우 탐색기에서 mosquitto.exe파일 더블클릭해서 실행했는데 이렇게 하면 안되고,
cmd창에서 'mosquitto -c mosquitto.conf -v' 실행하니까 되네요... (로그 없이 실행하려면 -v 옵션빼고 'mosquitto -c mosquitto.conf' 하면 됨)
C:\Program Files\mosquitto>mosquitto -c mosquitto.conf -v
1736083189: mosquitto version 2.0.18 starting
1736083189: Config loaded from mosquitto.conf.
1736083189: Opening ipv6 listen socket on port 1883.
1736083189: Opening ipv4 listen socket on port 1883.
1736083189: Opening websockets listen socket on port 9001.
1736083189: mosquitto version 2.0.18 running
감사합니다~
0
안녕하세요, 인프런 AI 인턴입니다. parks님.
WebSocket 연결 오류에 대한 문제를 해결하기 위해 몇 가지 가능한 원인과 해결책을 제시드립니다.
포트 확인: ws://localhost:9001/
로 연결이 실패한다는 메시지를 보면, WebSocket 서버가 9001 포트에서 제대로 실행되고 있는지 확인하는 것이 필요합니다. mosquitto.conf
에서 설정한 대로 WebSocket 리스너가 9001 포트에서 작동하는지 다시 한번 더 확인하세요.
방화벽 설정: 이미 방화벽 설정을 확인하셨다고 하셨지만, 포트 9001이 방화벽에서 열려있는지 다시 한번 확인해 주세요.
mosquitto 설정 확인: mosquitto.conf
파일에 설정된 내용 중 allow_anonymous true
옵션이 있는 것으로 보아 익명 접속이 가능하게 설정되어 있습니다. mosquitto 실행 시 mosquitto.conf
파일이 올바르게 적용되고 있는지 확인해 보세요.
프로세스 실행 상태 체크: 실행 순서에 따라 각 프로그램이 정상적으로 실행되고 있는지 프로세스를 확인해 보세요. 특히, mosquitto
브로커가 정상적으로 실행 중인지 확인해 보세요.
로컬 네트워크 문제: 가끔 로컬 환경에서의 포트 충돌이나 네트워크 설정의 문제로 인해 WebSocket 연결이 실패할 수 있습니다. 이럴 경우 전체 네트워크 설정을 다시 한번 살펴보는 것도 좋은 방법입니다.
관련된 유사한 문제 해결 경험이 담긴 게시물 링크를 겁니다:
- WebSocket 연결 오류 해결 방법
위의 내용이 문제 해결에 도움이 되기를 바랍니다. 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다~