繁体   English   中英

Node.JS套接字服务器和同一服务器上的连接速度变慢

[英]Node.JS Socket server and connection on same server slow down

我在这里可能做错了什么,但是从本质上讲,我有一个服务层来拦截对某个URL的发布请求。 重要的是,这个功能永远都不会失败,因此我将其与主服务器隔离了。 我认为让服务层接受http请求并通过任何连接的流发送生成的XML数据包是最简单的。 好吧,这在技术上是可行的,但是我遇到的问题是服务器和客户端都在同一台机器上,并且似乎stream.write正在填充内核缓冲区并减慢了两次命中之间的时间服务层到实际到达客户端的时间。

在服务器端

  • 在连接时,我将流推送到连接数组中,我还设置了一个时间间隔以确保在过去的12秒(心跳)中收到了一条消息。

  • 接收时,我遍历流数组,确保其可写并将xml数据包写入其中。

在客户端

  • 每8秒钟写一次“ Heartbeat”,以确保我不会断开连接

  • 在收到消息时,我将XML解析为JSON对象,并在服务器内进行处理。

关于这一点,似乎没有什么可笑的,但是我可能会遗漏一些东西。

我认为让服务层接受http请求并通过任何连接的流发送生成的XML数据包是最简单的。

要记住的一件事是节点缓冲通过流发送的内容。 就像您提到的那样,“ stream.write正在填充内核缓冲区”,这是预期的行为,因为通常不会使用流以这种方式进行通信。 您可能会尝试其他操作,例如通过套接字向其他进程发送请求?

希望这会有所帮助吗?

随时进入#node.js并向我们​​提问!

编辑:再三考虑,您已经在使用套接字吗? 如果是这样,我的回答真的无济于事,很抱歉。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM