@historydev
Редактирую файлы с непонятными расширениями

Почему не работает socket.emit?

Добрый день.Скажите пожалуйста почему не работает .emit,подключение работает,отлаживал через консоль,получаю id в консоли,а вот на клиент передать не могу:

server
app.get('/tenders',auth, (req,res) => {
	
	res.sendFile(__dirname + '/tenders.html')

	io.on('connection', function(socket){

	  	console.log('user connected');
	  	socket.on('disconnect', () => {
	  		console.log(socket.id + ' disconnected')
	  	})

	  	socket.emit('tender','tender');

		connection.query("SELECT * FROM tenders", function(err,res){

			const id = res.map(tenders => tenders.id);
			const category = res.map(tenders => tenders.category);
			const description = res.map(tenders => tenders.description);

			const tender = {
				id: id,
				category: category,
				description: description
			}

			console.log(tender.id[5]);

			

		})

	});
});


client
переменная всегда 0,а .on ничего не делает,значит проблема с сервером

var io = io('http://localhost:56026/tenders');

		var data = 0;

		io.on('tender', (data) => {
			data = data;
			console.log(data + ' - data');
			$('.tenders').html(data.id[0])
		});
  • Вопрос задан
  • 358 просмотров
Решения вопроса 1
@h88p
Pre-Junior HTML Developer
server
io.on('connection', socket => {
    console.log('Client connected');

    socket.on('disconnect', () => {
        console.log('Client disconnect')
    })
})


app.get('/tenders', auth, (req,res) => {
    connection.query("SELECT * FROM tenders", function(err, _res){
  
        const id = _res.map(tenders => tenders.id);
        const category = _res.map(tenders => tenders.category);
        const description = _res.map(tenders => tenders.description);
  
        const tender = {
          id: id,
          category: category,
          description: description
        }

        res.sendFile(__dirname + '/tenders.html', () => {
            io.emit('tender', tender);
        });
      })
});


client
var io = io('http://localhost:56026/tenders');
io.on('tender', (data) => {
    console.log(data + ' - data');
    $('.tenders').html(data.id[0])
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы