Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 套接字IO节点向所有客户端广播数据_Javascript_Node.js_Express_Socket.io_Webgl - Fatal编程技术网

Javascript 套接字IO节点向所有客户端广播数据

Javascript 套接字IO节点向所有客户端广播数据,javascript,node.js,express,socket.io,webgl,Javascript,Node.js,Express,Socket.io,Webgl,我正在开发一个WebGL多人游戏。我尝试通过socket.io和node.js中的express实现多人游戏。当用户按下任何键时,键事件首先发送到服务器,然后服务器应该使用套接字向所有客户端广播,就像当用户按下键时,角色的移动应该对所有客户端的浏览器可见一样,但是现在,在我的代码中,只有客户端按下键的浏览器才会发生字符移动 我在这里提供了我的代码 请帮助我解决这种情况您使用的是express 2.x语法。您必须更改express v3的语法。看到这个了吗 Socket.IO的.listen()

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

我在这里提供了我的代码


请帮助我解决这种情况

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

Socket.IO的.listen()方法将http.Server实例作为 论点从3.x开始,express()的返回值不是 服务器实例。(请参阅上面的应用程序功能部分。)至 让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);

可能与chatpage.jade.的内容重复。。它在我的回购协议中