你好我正在开发一个webgl多人游戏,我尝试通过socket io实现多人游戏,在node.js中使用express。当用户按任意键时,键事件首先被发送到服务器,然后服务器应该使用套接字向所有客户端广播,例如当用户按下键时,字符的移动应该对所有客户端broswers可见,但是正确现在我的代码只有客户端按下键的浏览器才会发生字符移动。
我在这里提供了我的代码
https://github.com/kshitizrimal/helpGl
请帮我解决这个问题
答案 0 :(得分:0)
您正在使用express 2.x语法。您必须更改express v3的语法。见page
Socket.IO的.listen()方法将http.Server实例作为 论点。从3.x开始,express()的返回值不是 http.Server实例。 (参见上面的应用功能部分。)To 让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);