跨页面请求在NodeJS上维护后端连接?

时间:2013-09-17 21:33:06

标签: javascript node.js sockets express thrift

我正在通过thrift(node-thrift)与后端服务器建立连接以进行api调用,但是通信是双向的(推/拉)到NodeJS。

当用户浏览不同的URL,而Node正在通过Connect / Express路由生成jade模板和javascript文件时,如何维护与后端服务器的连接,并输出(作为示例)连接状态为渲染的玉石输出的一部分?

我有连接对象,但我该怎么办呢?

套接字和端口通信对我来说通常是一个新领域,所以任何帮助都将受到赞赏。

请记住,后端服务器不是作为客户端与Web浏览器进行通信,而是将NodeJS服务器作为客户端进行通信。

1 个答案:

答案 0 :(得分:1)

在评论讨论后更新

所以看起来thrift是基于TCP的,这意味着节点客户端将保持与thrift API服务器的连接打开。这与您的节点/快速应用服务器对浏览器客户端的操作完全无关。因此,如果您保留对所有请求可用的thrift客户端的引用,例如,通过将其附加到app对象,您应该能够确定它的当前状态并将该信息包含在对浏览器的HTTP响应中。处理浏览器HTTP请求的快速应用程序服务器与向API服务器进行RPC调用的thrift客户端之间不会有任何自动协调或关联。如果你想要协调,你需要显式编码,但是向浏览器发送HTTP响应不会自动关闭与thrift RPC服务器的thrift TCP连接(反之亦然)。