0
я получил следующий конфиг:node.js Socket.io испускают не работает
app.set('port', process.env.PORT || 3000);
var httpserver = http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
var io = require('socket.io')(httpserver);
app.all('/blockcallback', function(req, res){
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
getTxSender(req.query.tx,function(ref_wallet){
(..)
});
io.emit('status', {'message': 'done'});
res.send('*ok*');
});
index.html
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:3000');
socket.on('status', function(datos){
alert('received');
});
</script>
нормально, когда я называю http://localhost:3000/blockcallback
выглядит как все работает отлично, но я я не получаю звонок «статус» на стороне клиента.
мои JS консоль показывает:
Error in event handler for extension.onRequest: undefined
Stack trace: undefined localhost/:1
Error in event handler for extension.onRequest: undefined
Stack trace: undefined extensions::uncaught_exception_handler:9
Stack trace: undefined extensions::uncaught_exception_handler:9
Я не понимаю, что происходит ...
С уважением,
Когда вы делаете 'io.emit()', к кому вы пытаетесь отправить? Все подключенные пользователи? Только пользователь делает запрос? Кроме того, вы понимаете, что способ структурирования вашего кода не выполняется: 'io.emit()' и 'res.end (" * ok * ")' ждут, пока не будет выполнено 'getTxSender()'? – jfriend00
Я бы сказал, что одна из первых вещей, которые нужно сделать здесь, - это еще раз отладить эти ошибки в консоли и устранить их все. Ошибки имеют способ испортить другой код, даже иногда несвязанный код. – jfriend00