【发布时间】:2016-07-21 00:54:14
【问题描述】:
我刚开始使用 socket.io,我想要一些功能,它可以从一个客户端通过服务器向所有客户端广播一些想法。
例如我会玩游戏,当我需要处理很多事情时。
有两种选择: 1. 服务器端和客户端的每个调用句柄,为每个调用创建 socket.on('call');
但我认为有更好的解决方案 2. 在客户端调用时,当我获得有效负载和套接字名称时,会从服务器调用到其他客户端。
像这样: 服务器
// Broadcast specific emit to all clisnts expect sender
socket.on('broadcast', function(data){
socket.broadcast.emit(data.emitName, {id: socket.id, payload: data.payload});
});
和客户:
// Call to server
socket.emit('broadcast', {emitName: 'playerMove', payload: {....}});
// Handle called from server
socket.on('playerMove', function(data){
....
});
第二个解决方案可以节省很多时间,但它是安全的解决方案吗? 有没有更好的解决方案如何从客户端广播通过服务器调用并调用其他客户端?
【问题讨论】:
标签: node.js socket.io broadcast