2013-05-05 3 views
4

Я пытаюсь создать игру, где браузер на рабочем столе - это один вид, а мобильное устройство - другое. Вы используете мобильное устройство в качестве игрового контроллера, чтобы заставить персонажей перемещаться на рабочем столе. Он похож на chrome.com/supersyncsports.Синхронизация Socket.io между двумя клиентами

Использование socket.io, что является лучшим способом синхронизации мобильного устройства с настольным клиентом? chrome.com/supersyncsports использует код для синхронизации двух клиентов. Используют ли они что-то похожее на namespacing или комнаты socket.io, где код - это название комнаты?

Я ищу способ синхронизации двух клиентов и убедитесь, что данные выбраны только для правильного устройства и соединения, а не для всех соединений. Что лучше всего для этого использовать socket.io?

+0

ИМХО, для чего-то как контроллер (телефон -> браузер - нет сервера), вы можете попробовать [WebRTC] (http://www.webrtc.org/). – drinchev

+1

Возможно, вы можете использовать пользователя как пространство пространства имен. Пример: «/ users/wwwuser /», где шаблон отображается как «/users/'+current_user.username». Или вы могли бы сказать, что на экране: «Сопрячьте свое устройство, введя код« 2E12x », где 2E12x - это комната. – film42

ответ

2

Как сказал film42, запись кода, вероятно, лучший способ сделать это, используя что-то вроде этого сервера стороне:

socket.on('room', function(room) { 
    if(io.sockets.clients(room)>=2){ 
     socket.emit('error':"too Many connections") 
    } 
    else{ 
     socket.join(room); 
    } 
}); 

позволяет ограничить каждую комнату для двух клиентов

Смежные вопросы