networking - Comet 服务器和网络延迟时间

标签 networking node.js tcp comet latency

对于一个社交网站,我们使用基于 node.js 的 Comet 服务器作为即时通讯工具,一切都运行良好,我们只有一个问题如何解决澳大利亚和新西兰的延迟问题,我们的 RRT 在 310 毫秒到 440 毫秒之间小姐。

一个想法是拥有本地服务器,但在这种情况下,它们必须连接到澳大利亚用户能够与英国用户进行通信的主服务器。这种 comet-comet 连接也会有更高的延迟,但本地用户可以快速聊天,这在大多数情况下都是如此。

有没有人有比使用本地 cometd 服务器更好的主意?

最佳答案

如果您的延迟是由于地理距离造成的,则无法选择如何缩短它。您唯一可以做的就是尝试找到拥有更多“直”电缆的上游网络提供商。但是您永远无法实现比这 2 个国家/服务器之间的直接空中距离更短的延迟。

如果您将让澳大利亚的用户相互通信,那么是的,如果他们连接到本地服务器,那将是不同的。但是对于一个英国用户和一个澳大利亚用户之间的通信,是否有本地服务器并不重要。

但无论如何,对于即时通讯工具,恕我直言,延迟并不是那么重要。收件人不知道发件人完成消息并点击发送按钮的那一刻,因此他无法测量延迟。人类无法每秒发送多条消息,因此我认为无法看出 400 毫秒和 10 毫秒延迟之间的差异。如果超过 1 秒,它可能是可见的...

总而言之,只有当本地用户之间有足够多的通信时,我才会费心制作本地服务器。

(如果我对您的设置的一些假设不正确,请告诉我。)

关于networking - Comet 服务器和网络延迟时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8572841/

相关文章:

node.js - 动态 express.static() 文件夹路径

node.js - 为什么在更改 swig 模板时需要重新启动 express server?

javascript - 异步迭代器给出 TypeError : undefined is not a function

TCP,如何从服务器和客户端模拟 FIN?

java - 如何避免两个节点之间的双重连接?

macos - Docker nginx 容器 : http code 400

java - 从 InputStream 读取到 byte[] 会抛出 IndexOutOfBoundsException

c - 在 TCP/UDP 套接字中绑定(bind)

java - Netty 使用 TCP 给我一个错误的端口

c++ - Save the IP of a domain to a txt file/Save my dynamic ip to a txt file with c++ 或批处理