2017-11-19 5 views
0

dump1090을 사용하여 ADS-B 신호를 청취하고 디코딩합니다. 그것은 포트 8080을 통해 웹 프론트 엔드로 데이터를 출력하고 모두 정상입니다. 이 코드는 원시 메시지 인 포트 30003 및 30002를 통해 출력을 생성합니다. 나는이 메시지를 듣기 위해 노력하고 있지만 소켓 오류가 발생합니다. 내가 JS에 사용하고 코드는 다음과 같습니다JavaScript가 포트에서 수신 대기합니다.

function dumpSocket() { 
    console.log("attempting to dump socket") 
    let ws = new WebSocket ("ws://192.168.0.29:30003") 
    ws.onmessage = function (data) { 
     console.log(data) 
    } 
    window.onbeforeunload = function(event) { 
     socket.close(); 
    } 
} 

내가 오류는 다음과 같습니다

VM3157 : 164 웹 소켓 연결 '//192.168.0.29 : WS 30003 /'실패 WebSocket 핸드 셰이크 중 오류가 발생했습니다. net :: ERR_INVALID_HTTP_RESPONSE

IP 및 포트에 Netcat을 연결하면 아무런 문제가 없습니다. 내가 어디로 잘못 가고 있니?

답변

0

아쉽게도 raw tcp 또는 udp 소켓을 수신 대기 할 웹 소켓을 사용할 수 없으며 서버 측에서는 websocket 인터페이스도 만들어야합니다.

https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/API/TPC_Socket_API

는 또 다른 해결책은 nodeJS 서버를 만드는 : 모질라에 의해 일부 제한된 지원도

https://developer.chrome.com/apps/sockets_tcp

있습니다 :

그러나 크롬 확장에 당신은 chrome.sockets.tcp 참조를 사용할 수있다 원시 TCP 소켓에서 수신 대기하고 websocket으로 변환합니다.

당신은 또한 websockify 시도 할 수 있습니다 : 정보 주셔서 확인 https://github.com/novnc/websockify

+0

, 감사합니다. 그 경우에 도움이 될 node.js에 패키지가있을 수 있다고 생각합니다. 건배. – phish

+0

예, websockify, 업데이트 된 답변의 링크 참조 –