2013-05-05 79 views
4

我想创建一个游戏,其中桌面上的浏览器是一个视图,移动设备是另一个视图。您使用移动设备作为游戏控制器来使桌面中的角色移动。它类似于chrome.com/supersyncsports。只有两个客户端之间的Socket.io同步

使用socket.io,将移动设备同步到桌面客户端的最佳方式是什么? chrome.com/supersyncsports使用代码来同步这两个客户端。他们是否使用类似于socket.io的命名空间或房间的代码是房间的名称?

我正在寻找一种方式来同步两个客户端,并确保数据仅发射到正确的设备和连接,而不是所有连接。使用socket.io实现这个最好的是什么?

+0

恕我直言,东西就像一个控制器(电话 - >浏览器 - 没有服务器),你可能想尝试[WebRTC](http://www.webrtc.org/)。 – drinchev 2013-05-05 07:29:21

+1

也许你可以使用一个用户作为命名空间的空间。例如,'/ users/wwwuser /'模板呈现为'/users/'+current_user.username。或者,您可以让屏幕显示“通过输入代码”2E12x“与您的设备配对,其中2E12x是房间。 – film42 2013-05-07 04:42:46

回答

2

正如film42说,代码输入是可能做到这一点的最好办法,用这样的服务器端:

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

让你每个房间限制在两个客户端