Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Node.js 洪泛Socket.IO节点服务器_Node.js_Sockets_Socket.io_Raspberry Pi - Fatal编程技术网

Node.js 洪泛Socket.IO节点服务器

Node.js 洪泛Socket.IO节点服务器,node.js,sockets,socket.io,raspberry-pi,Node.js,Sockets,Socket.io,Raspberry Pi,我正在做一个带有树莓圆周率和套接字的交互式游戏,我以很高的速率(每个侦听器每秒1-20次)从RPI发送到笔记本电脑上的服务器。 有时一切正常,但有时会出现问题(需要几毫秒来显示更改) 有没有办法优化与Socket.IO的通信,或者有没有其他方法 顺便说一句,我正在做普通发射,没有数据可以更轻。 编辑: 服务器: socket.on('player1', function(){ //doing calculations }); socket.on('player2', function()

我正在做一个带有树莓圆周率和套接字的交互式游戏,我以很高的速率(每个侦听器每秒1-20次)从RPI发送到笔记本电脑上的服务器。 有时一切正常,但有时会出现问题(需要几毫秒来显示更改)

有没有办法优化与Socket.IO的通信,或者有没有其他方法

顺便说一句,我正在做普通发射,没有数据可以更轻。 编辑:

服务器:

socket.on('player1', function(){
    //doing calculations
});
socket.on('player2', function(){
    //doing calculations
});
socket.on('player3', function(){
    //doing calculations
});
客户:

socket.emit('player1');
socket.emit('player2');
socket.emit('player3');
编辑2 当我从Pi接收到一个发射时,我正在做这些“计算”,这是一些非常基本的RaphaelJS对象动画

var pos = this.objects[index].getPointAtLength(this.counter[index]);
this.e[index].attr({
    x: pos.x, 
    y: pos.y
});
this.counter[index]++;

你的密码是什么?如果没有它,我们无法理解你到底在做什么。首先,“真正的车”并不是对你实际遇到的问题类型的有意义的描述。其次,您可以在某种程度上明显地合并您的消息,以发送更少的消息,每个消息中包含更多的数据,但不了解您在这里真正在做什么,我们不能给出非常具体的建议。@jfriend00不可能发送更少的消息,因为这是一个实时游戏,当玩家互动时,他们需要立即在屏幕上看到interaction@StefanosChrs-那么,如果你不把实际问题描述为“车”,我们就无能为力了不是一个有用的描述,也向我们展示了所有相关的代码。在这一点上,我们甚至不知道主要的问题是什么——您的服务器是否无法跟上消息流量,或者您是否存在并发问题或其他问题?@jfriend00,正如我在描述中提到的,Buggy是我们所有人都知道的,当有一个小延迟中断正常的事件流时。我向您展示了所有与套接字有关的代码,这基本上就是通信方面的代码。这里没什么特别的,只是一个简单的事件从RPI发送到服务器