JavaScript在端口上侦听

时间:2017-11-19 19:46:09

标签: javascript websocket

我正在使用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和端口,但我得到的消息没有问题。我哪里错了?

1 个答案:

答案 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