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

时间:2011-03-18 20:45:33

标签: javascript tcp streaming node.js

我可能在这里做错了,但基本上我有一个服务层拦截对某个网址的帖子请求。重要的是这永远不会失败所以我将它与主服务器隔离开来。我认为让服务层获取http请求并通过任何连接的流发送生成的XML数据包是最容易的。好吧,它在技术上有效,但我遇到的问题是服务器和客户端都在同一台机器上,好像stream.write正在填充内核缓冲区并减慢它打到它之间的时间服务层到实际到达客户端的时间。

在服务器端

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

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

在客户端

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

  • 在传入消息中,我将XML解析为JSON对象,并在服务器内处理它。

没有什么比这更令人发指,但我可能会遗漏一些东西。

1 个答案:

答案 0 :(得分:0)

  

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

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

希望这有点帮助?​​

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

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

相关问题