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

我可能在这里做错了什么,但基本上我有一个服务层,拦截发送请求到一个特定的url。 这是非常重要的,所以我把它从主服务器上分离出来。 我认为让服务层接受http请求并通过连接的任何stream发送结果XML数据包是最简单的。 那么,这是技术上的工作,但我遇到的问题是,服务器和客户端都在同一台机器上,似乎stream.write正在填满内核缓冲区,并减less了它之间的时间服务层到什么时候才真正到达客户端。

在服务器端

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

  • 在接收我迭代stream数组,确保它是可写的,并写入XML数据包。

在客户端

  • 每8秒写一次“心跳”,以确保不会断开连接

  • 在传入的消息我parsingXML到一个JSON对象,并在服务器内处理。

没有什么关于这个似乎离谱,但我可能会错过一些东西。

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

有一件事要记住,节点缓冲通过stream发送的东西。 就像你注意到的那样,“stream.write正在填充内核缓冲区”,这是有意的行为,因为通常情况下不会使用stream以这种方式进行通信。 你可能会尝试一些不同的东西,例如通过套接字发送请求到其他进程?

希望这有助于一点?

进入#node.js ,随时问我们问题!

编辑:第二个想法,你已经使用套接字? 如果是这样,我的回答是无益的,道歉。