Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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
Node.js 将socket.io套接字传递给分叉节点子进程 Centos:7 节点:8.9.4 Socket.io:2.1.1 快递:4.16.3_Node.js_Express_Socket.io_Centos7_Child Process - Fatal编程技术网

Node.js 将socket.io套接字传递给分叉节点子进程 Centos:7 节点:8.9.4 Socket.io:2.1.1 快递:4.16.3

Node.js 将socket.io套接字传递给分叉节点子进程 Centos:7 节点:8.9.4 Socket.io:2.1.1 快递:4.16.3,node.js,express,socket.io,centos7,child-process,Node.js,Express,Socket.io,Centos7,Child Process,我想将套接字对象传递给我分叉的节点子进程,但我得到了错误。 有人能解释一下为什么我的当前代码会出错,以及如何实现将套接字发送到子进程吗 //-------------[parent.js]------------- var child = cp.fork('../child/child.js', ['Started Child!']); _IO.on('connection', function(_Socket){ child.send(_Socket); // TypeEr

我想将套接字对象传递给我分叉的节点子进程,但我得到了错误。 有人能解释一下为什么我的当前代码会出错,以及如何实现将套接字发送到子进程吗

//-------------[parent.js]-------------
var child = cp.fork('../child/child.js', ['Started Child!']);

_IO.on('connection', function(_Socket){

        child.send(_Socket); // TypeError : Converting circular structure to JSON
        child.send('socket', _Socket); // TypeError : [ERR_INVALID_HANDLE_TYPE]
}); 

//-------------[child.js]-------------
process.on('message', function(socket){
        console.log(typeof socket);
});

//-------------[OR]-------------

process.on('message', function(msg, socket){
        console.log(msg);
        console.log(typeof socket);
});

可能重复我的问题是不同的,他试图通过终端参数发送,他需要通过IPC发送,但我已经通过IPC发送了,但我的问题是它导致错误,我不知道为什么。用于在进程之间发送套接字的文档在这里:。由于您在(…)上引用了
\u IO.on,我猜这是一个socket.IO套接字。你不能发送那个对象。您需要发送实际的套接字对象(位于socket.io对象的某个位置)。尝试发送socket.io对象将尝试将其转换为JSON(这不是您想要的),并最终导致循环结构错误。您需要自行发送较低级别的插座。谢谢!我回家后会尝试,但我尝试发送套接字的主要目的是希望能够在客户端浏览器上与套接字通信/发送。我不知道我是否还能做到这一点。因此,很显然,我知道,我不能做到这一点的原因是因为这两个过程不共享内存