Эта ошибка появляется в socket.io
//SERVER.JS
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var port = process.env.PORT || 8080;
var http = require('http').Server(app);
var io = require('socket.io')(http);
require('./app/routes.js')(app, io);
//ROUTES.JS
socket.emit('dlReady', { description: 'Your file is ready!'});
Я получаю такую ошибку:
ReferenceError: socket is not defined
Обновлено:
app.post('/pst', function(req, res) {
var url = req.body.convo;
res.render('processing.ejs');
funker(url).then(result => {
console.info('TAKE A LOOK AT THIS!');
socket.emit('dlReady', { description: 'Your file is ready!'});
//transforming array to string to pass to Buffer.from()
//then we remove ',' with newlines, so each index of array is a new line
var str = result.toString();
result = str.split(',').join('\r\n');
str = ''; //garbage collection
resultGlobal = result;
result = ''; //garbage collection
}).catch(err => {
console.info(err);
res.render('error.ejs');
})
});
Покажите нам остальную часть соответствующего кода в routes.js.





Как использовать сокет:
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.info(data);
});
});
В каком файле мне написать строку var io = require?
И что происходит, когда я хочу создать событие, но не в тот момент, когда пользователь подключается?
Попробуйте это io.sockets.emit ('привет');
Но это то, что я сделал в коде, который я включил в вопрос! В чем была ошибка в моем коде? Требуемая строка? Где мне это написать?
Пожалуйста, проверьте, как использовать сокет: stackoverflow.com/questions/11498508/socket-emit-vs-socket-s конец