в моем коде у меня есть сервер socket.io, и мне нужно, чтобы клиенты отправляли сигнал на сервер, а потом начинал жуткий ... после запуска жуткий, мне нужно отправлять туда и обратно некоторые данные с сервера на клиент через io, поэтому мне нужноЭкземпляр socket.io внутри жуткого
вот упрощенная версия моего кода
var http = require('http');
var socket = require('socket.io');
const express = require('express');
app = express();
try {
var Spooky = require('spooky');
} catch (e) {
var Spooky = require('../lib/spooky');
}
var server = http.createServer(app).listen(1300);
var io = socket.listen(server);
io.on('connection' , function(socket){
socket.on('start_spooky' , function (data) {
io.emit('push_msg' , {text : 'starting spooky .... ' });
run_spooky(io);
})
});
function run_spooky(io){
var spooky = new Spooky({
child: {
transport: 'http'
},
casper: {
logLevel: 'debug',
verbose: true
}
}, function (err) {
if (err) {
e = new Error('Failed to initialize SpookyJS');
e.details = err;
throw e;
}
spooky.start( 'http://localhost');
spooky.then([{
io: io
}, function () {
io.emit('push_msg' , {text : 'web page is loaded ... ' });
}]);
spooky.run();
});
}
, очевидно, это не будет работать с экземпляром io
spooky.then([{
io: io
}, function () {
io.emit('push_msg' , {text : 'web page is loaded ... ' });
}]);
, и я получаю ошибку
Не удалось сериализовать запрос в JSON
как мне заставить это работать?