Mackaybravo
@Mackaybravo
программист, фрилансер

Как отправлять данные от клиента socket.io?

Привет. Не могу понять почему не отправляются данные от клиента.
Сервер:
io.sockets.on('connection', function (client) {
    client.on('messageClient', function (data) {
      console.log(data.posX);
    });  
    client.emit('messageServer', function (data) {
      console.log(data);
    });  
});

клиент
var socket = io.connect('http://46.101.151.182:3000');
	var sid = Math.round('');
	socket.on('connect', function () {

		console.log('Подключен!');

	});

	var ax, ay, acelX;

	window.ondevicemotion = function(e) {
		ax = e.accelerationIncludingGravity.x;
		ay = e.accelerationIncludingGravity.y;
		document.getElementById('info').innerHTML = ax+', '+ay;
	}


	socket.on('messageServer',function(data) {
		console.log(data);
	});

	socket.emit('messageClient',{posX:ax});

При загрузке страницы, показывает undefined, и все. Дальше данные не поступают
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
При загрузке страницы, показывает undefined, и все. Дальше данные не поступают

Вы передаете значение переменной ax, а на момент отправки оно undefined, это и показывает. Попробуйте передать строку.
Если хотите, чтобы сообщение отправлялось на событие ondevicemotion, поставьте
socket.emit('messageClient', { posX: ax });
внутрь колбэка
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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