我正在使用dump1090来收听和解码ADS-B信号。它通过端口8080将数据输出到Web前端,一切都很顺利。该代码还通过端口30003和30002产生输出,这是原始消息。我正试图'听'这些消息然而我收到套接字错误。我在js中使用的代码是:
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与'ws://192.168.0.29:30003 /'的WebSocket连接失败: WebSocket握手期间出错:net :: ERR_INVALID_HTTP_RESPONSE
如果我netcat到IP和端口,但我得到的消息没有问题。我哪里错了?
答案 0 :(得分:0)
不幸的是,你不能使用websockets来监听原始tcp或udp套接字,在服务器端你也需要创建一个websocket接口。
但是,在Chrome扩展程序中,您可以使用chrome.sockets.tcp
,请参阅:
https://developer.chrome.com/apps/sockets_tcp
mozilla也有一些有限的支持:
https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/API/TPC_Socket_API
另一个解决方案是创建一个nodeJS服务器,它将侦听原始tcp套接字并将其转换为websocket。
你也可以试试websockify: https://github.com/novnc/websockify