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

Javascript Node.JS套接字服务器和同一服务器上的连接速度减慢,javascript,tcp,streaming,node.js,Javascript,Tcp,Streaming,Node.js,我可能在这里做错了什么,但本质上我有一个服务层,它拦截对某个url的post请求。这一点很重要,因为它永远不会停机,所以我将它与主服务器隔离。我认为让服务层接收http请求并通过连接的任何流发送生成的XML数据包是最简单的。从技术上讲,这是可行的,但我遇到的问题是,服务器和客户端都在同一台机器上,似乎stream.write正在填充内核缓冲区,并降低了从到达服务层到实际到达客户端之间的时间 在服务器端 在连接时,我将流推送到一组连接中,我还设置了一个间隔,以确保在过去12秒内收到消息 在接收时,

我可能在这里做错了什么,但本质上我有一个服务层,它拦截对某个url的post请求。这一点很重要,因为它永远不会停机,所以我将它与主服务器隔离。我认为让服务层接收http请求并通过连接的任何流发送生成的XML数据包是最简单的。从技术上讲,这是可行的,但我遇到的问题是,服务器和客户端都在同一台机器上,似乎stream.write正在填充内核缓冲区,并降低了从到达服务层到实际到达客户端之间的时间

在服务器端 在连接时,我将流推送到一组连接中,我还设置了一个间隔,以确保在过去12秒内收到消息

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

在客户端 每8秒写一次心跳,以确保我没有断开连接

在收到消息时,我将XML解析为JSON对象,并在服务器中处理它

这一切似乎都不离谱,但我可能遗漏了什么

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

需要记住的一点是,节点缓冲通过流发送的内容。正如您所指出的,stream.write正在填充内核缓冲区,这是预期的行为,因为通常不使用流以这种方式进行通信。您可以尝试一些不同的方法,比如将请求发送到其他进程

希望这有点帮助

停下来,随时问我们问题

编辑:仔细想想,你已经在使用套接字了吗?如果是这样的话,我的回答真的毫无帮助,道歉

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

需要记住的一点是,节点缓冲通过流发送的内容。正如您所指出的,stream.write正在填充内核缓冲区,这是预期的行为,因为通常不使用流以这种方式进行通信。您可以尝试一些不同的方法,比如将请求发送到其他进程

希望这有点帮助

停下来,随时问我们问题

编辑:仔细想想,你已经在使用套接字了吗?如果是这样的话,我的回答真的毫无帮助,道歉