【问题标题】:Socket IO Node to broadcast data to all clientsSocket IO 节点向所有客户端广播数据
【发布时间】:2013-08-30 03:45:52
【问题描述】:

我正在开发一个 WebGL 多人游戏。我尝试通过 socket.io 实现多人游戏,在 node.js 中使用 express。当用户按下任何键时,键事件首先发送到服务器,然后服务器应该使用套接字向所有客户端广播,就像当用户按下键时,角色的移动应该对所有客户端的浏览器都是可见的,但是但是现在我的代码只有在客户端按键的浏览器中才会发生字符的移动。

我在这里提供了我的代码

https://github.com/kshitizrimal/helpGl

请帮我解决这种情况

【问题讨论】:

标签: javascript node.js express socket.io webgl


【解决方案1】:

您使用的是 express 2.x 语法。您必须更改 express v3 的语法。看到这个page

Socket.IO 的 .listen() 方法将 http.Server 实例作为 争论。从 3.x 开始,express() 的返回值不是 http.Server 实例。 (请参阅上面的应用程序功能部分。) 让 Socket.IO 与 Express 3.x 一起使用,确保您手动创建 并将您的 http.Server 实例传递给 Socket.IO 的 .listen() 方法。

这就是使用 express3 和 socket.io 的方式

var express = require('express')
var http = require('http');
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);

【讨论】:

    猜你喜欢
    • 2019-04-01
    • 1970-01-01
    • 2015-07-04
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 2015-07-03
    • 2011-03-10
    相关资源
    最近更新 更多