HistoryART
@HistoryART
Надзиратель

Как отправить данные тому, от кого они пришли Socket.io?

Нашёл в документации мол если писать не io,а socket на стороне сервера, будет работать, но нет, либо я тупанул, я провожу расчёты на стороне сервера, тобишь скрипт ниже вычисляет хп игрока, но он раздаёт его всем, а мне нужно чтобы у каждого игрока был свой хп.
Думал сделать через socket.id но к сожалению не сработало.Хелп
//Хп игрока   	
   	socket.on('user fight', function(data) {
   		user_hp = data;
   		if(user_hp<=0) {
   			user_hp = max_user_hp;
   			socket.emit('lose');
   		}
				x2 = user_hp/max_user_hp*100;
				socket.emit('user hp', user_hp);
				if(user_hp>0) socket.emit('user hp line width', x2);
   		if(user_hp<=0) socket.emit('user hp line width', 0);
   		if(hp+user_hp <= 0) {
   			socket.emit('draw');
   		}
   	});
   	
   	//io.sockets.connected[socket.id].emit('class', 'alert');
   	
   	socket.on('hp line for all', function(data) {
				x2 = user_hp/max_user_hp*100;
   		socket.emit('user hp line width', x2);
   		if(user_hp<=0) {
   			socket.emit('user hp line width', 0);
   			socket.emit('lose');
   		}
   		if(hp+user_hp <= 0) {
   			socket.emit('draw');
   		}
   	});
   		
   	//end
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
@olezhenka
С помощью socket.emit, как вы и делаете.
io.on('connect', function(socket) {
  socket.emit('name', ...); // socket = переменная с текущим коннектом отдающаяся в каллбеке события connect.
})

Возможно, на клиентской части неправильно ловите события.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы