2013-10-30 80 views
0

例如,我们有一个基本的node.js服务器< - > client comunicaciton。Node.js中尚未收到哪些消息?

一个基本的node.js服务器每发送一个消息给每个500ms消息,每个客户端连接到它们各自的套接字启动,客户端正确响应heratbeat并及时接收所有消息。但是,想象客户端存在暂时连接延迟(不关闭套接字),cpu过载等。并且在2秒或更多时间内不能处理任何内容。

在这种情况下,哪些消息还没有被客户端接收? 它们存储在节点?在任何缓冲区或类似的?

而反之亦然?客户端每隔500毫秒发送一条消息到服务器(服务器只听不响应),但服务器在2或3秒内发生临时连接问题或cpu开销。

感谢您的建议!任何信息或aclaration会受到欢迎

哈维尔

+0

如果套接字没有中断,我会想象他们反正(或尝试)到客户端。最好的方法,模拟场景并找出答案! :) – tymeJV

+0

是的,即时通讯只是模拟,但不是难以清除。我看他们迟早会到达,但即时通讯担心中间空间的大小或任何他们存储的东西,直到他们到达.. –

回答

1

是,它们存储在缓冲区,主要是由OS内核提供的缓冲区。接收端连接到节点服务器的连接也是如此。

+0

好吧,我正在假设。只有好奇心,你知道这个缓冲区的名字? –

+0

我认为每个操作系统的名称和实现都略有不同,但我通常会听到它们被称为“内核发送缓冲区”。 –