0

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

我在这里提供了我的代码

https://github.com/kshitizrimal/helpGl

请帮我解决这种情况

4

1 回答 1

0

您正在使用 express 2.x 语法。您必须更改 express v3 的语法。看到这个页面

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);
于 2013-08-28T07:05:20.980 回答