nodeJS服务器性能缓慢而生涩?

时间:2012-08-06 19:01:02

标签: javascript node.js heroku

使用nodeJS和socket.io作为练习 我建立了一个由iphone控制的鼠标光标原型, 在浏览器视口上移动。 而已。它有效,但性能非常糟糕。光标是生涩的,切碎的...它没有顺利移动......正如我在终端中看到的那样发射,有时会卡住......

我正在考虑使用类似下面的代码,但仍然没有达到最佳状态。

setInterval(function() {
   socket.emit('sendposition', x, y);
}, 25);

我想知道thatere是否是提高性能的最佳做法。 如果表现如此糟糕,你怎么能建立一个在线多人游戏呢?

谢谢!

2 个答案:

答案 0 :(得分:0)

我尝试使用socket.send,而不是socket.emit,听起来......听起来更好......不完美但方式更好......

答案 1 :(得分:-1)

网络流量中可能存在抖动,这是正常的,特别是对于网络保证按顺序传送的TCP流量,因此当一个数据包延迟时,其后的所有其他数据包都必须等待。

我建议您使用UDP进行尝试,每个数据报都包含X,Y位置的增量。这样,如果一些数据包出现故障,鼠标仍然会到达同一目的地,如果丢弃了一些数据包,那么其他数据包仍会通过并轻推光标。