我正在通过thrift(node-thrift)与后端服务器建立连接以进行api调用,但是通信是双向的(推/拉)到NodeJS。
当用户浏览不同的URL,而Node正在通过Connect / Express路由生成jade模板和javascript文件时,如何维护与后端服务器的连接,并输出(作为示例)连接状态为渲染的玉石输出的一部分?
我有连接对象,但我该怎么办呢?
套接字和端口通信对我来说通常是一个新领域,所以任何帮助都将受到赞赏。
请记住,后端服务器不是作为客户端与Web浏览器进行通信,而是将NodeJS服务器作为客户端进行通信。
答案 0 :(得分:1)
(在评论讨论后更新)
所以看起来thrift是基于TCP的,这意味着节点客户端将保持与thrift API服务器的连接打开。这与您的节点/快速应用服务器对浏览器客户端的操作完全无关。因此,如果您保留对所有请求可用的thrift客户端的引用,例如,通过将其附加到app
对象,您应该能够确定它的当前状态并将该信息包含在对浏览器的HTTP响应中。处理浏览器HTTP请求的快速应用程序服务器与向API服务器进行RPC调用的thrift客户端之间不会有任何自动协调或关联。如果你想要协调,你需要显式编码,但是向浏览器发送HTTP响应不会自动关闭与thrift RPC服务器的thrift TCP连接(反之亦然)。