2017-09-07 11 views
0

에서 mosquitto 서버에 연결 I는 인텔 에디슨 보드에 아래의 스크립트를 실행하여 로컬에 설치된 Mosquitto 서버에 연결을 시도하고있다. 웹 페이지에서 전화를 걸 때 -인텔 에디슨 보드

var client = new Paho.MQTT.Client("localhost", 9001, "clientId"); 
client.connect(options); 

이 작동합니다.

문제는 에디슨 보드에서 연결하는 중입니다. 누구도이 문제에 직면 했습니까?

+0

모스 탯 출력/로그에 오류가 있습니까? 'on ('error', function (err) {})'핸들러를 클라이언트에 추가하면 무엇을 얻게 될까요? 에디슨에서도 실제로 실행되는 웹 페이지의 브라우저는 무엇입니까? – hardillb

+0

오류 함수도 호출되지 않습니다. 이 브라우저는 모기에 연결할 수있는 노트북에 있습니다. – user1930106

+1

그래야 브로커가 에디슨이 아닌 랩톱에서 실행 중입니다.이 경우 URL에 로컬 호스트가 아닌 랩톱의 IP 주소가 있어야합니다 (랩톱의 모든 방화벽이 포트 9001에서 외부 연결을 허용하는지 확인해야합니다) – hardillb

답변

1

으로는 URL의 호스트로 localhost를 사용할 수 있도록 브로커, 에디슨에서 실행되고 있지

, 코멘트에서 물리 쳤다. localhost은 루프백 인터페이스의 기본 제공 이름이므로 항상 코드가 실행중인 컴퓨터를 가리 킵니다.

브로커가 실행중인 컴퓨터 (랩톱)의 IP 주소를 사용해야합니다.

동적 IP 프로비저닝 환경에서이 모든 것을 실행하는 경우 동일한 서브넷에있는 머신이 .local 도메인의 브로드 캐스트 호스트 이름으로 주소 지정 될 수 있도록하는 mDNS/Avahi를보고 싶습니다. 정적 IP 주소와 DNS 항목이있는 시스템으로 브로커를 이동하거나 이동합니다.