Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何侦听TCP数据包获取数据并使用node.js发送UDP_Javascript_Node.js_Tcp_Proxy_Udp - Fatal编程技术网

Javascript 如何侦听TCP数据包获取数据并使用node.js发送UDP

Javascript 如何侦听TCP数据包获取数据并使用node.js发送UDP,javascript,node.js,tcp,proxy,udp,Javascript,Node.js,Tcp,Proxy,Udp,我正在尝试在端口上侦听TCP数据包,然后从中获取数据并将其转发到UDP端口。原因是在UDP端口上侦听的软件只接受UDP,但我想使用javascript websockets向其发送仅使用TCP的数据。websockets不仅仅是一个简单的TCP套接字。该协议基本上是一种HTTP升级握手(附带一些特定于WebSocket的安全握手) 如果您只是监听端口并盲目转发数据,那么它将无法工作,因为浏览器实际上无法建立WebSocket连接 你有没有考虑过用它来处理WebSocket端的事情 这样就简单了,

我正在尝试在端口上侦听TCP数据包,然后从中获取数据并将其转发到UDP端口。原因是在UDP端口上侦听的软件只接受UDP,但我想使用javascript websockets向其发送仅使用TCP的数据。

websockets不仅仅是一个简单的TCP套接字。该协议基本上是一种HTTP升级握手(附带一些特定于WebSocket的安全握手)

如果您只是监听端口并盲目转发数据,那么它将无法工作,因为浏览器实际上无法建立WebSocket连接

你有没有考虑过用它来处理WebSocket端的事情

这样就简单了,只需使用UDP发送数据:

io.sockets.on('connection', function (socket) {
  socket.on('sendudp', function (data) {
    var buf = new Buffer(data), udp = dgram.createSocket("udp4");

    udp.send(buf, 0, buf.length, 41234, "localhost", function(err, bytes) {
      udp.close();
    });
  });
});

显然,用所需的目标端口和主机替换
41234
localhost

没有“TCP数据包”这样的东西,因此无法接收。TCP呈现一个字节流。UDP接收器期望的数据报是否与通过TCP流接收到的数据报一致,只有您能知道,但您需要知道这是一个非常有问题的问题