socket.on('data', function(data, socket){
console.log(socket);
worker.handle(data, socket);
当我这样做时,输出为undefined
。为什么我得到它而不是套接字数据?
这会将一个(未定义的)套接字传递给我的worker脚本,然后该脚本会尝试写入该未定义的套接字,从而导致服务器崩溃。
答案 0 :(得分:2)
你的回调是错误的。 socket.on('data')只接受一个参数 - 数据。您的第二个参数无效,不会被调用。
你应该(恕我直言)能够在回调的上下文中引用你的'socket'变量。