【问题标题】:Connecting to a Reliable Webservice with Nodejs使用 Nodejs 连接到可靠的 Web 服务
【发布时间】:2013-11-22 09:33:10
【问题描述】:

我的应用程序需要从 Reliable Webservice 接收结果。这是场景:-

首先我发送一个CreateSequence 请求。然后服务器回复CreateSequenceResponse 消息。接下来,我将实际请求发送到 Web 服务。

然后 web 服务发送带有202 accept code 的响应并在稍后的消息中发送结果。所有这些消息都包含标头Connection: keep-alive

我向http.ClientRequest 提出了请求。我可以捕获除结果之外的所有响应。 http.ClientRequest 只触发一个 response 事件。

我如何才能收到包含结果的消息?

有没有什么方法可以监听socket的剩余数据(socket.on('data')没用)。我用ReliableStockQuoteServiceApache Synapse 一起检查了这个。如果有人可以帮助我,我将不胜感激。

【问题讨论】:

    标签: node.js httprequest


    【解决方案1】:

    当您收到response 事件时,会为您提供一个参数,即http.IncomingMessage,即Readable 流。这意味着您应该将应用程序逻辑绑定到响应对象的 data 事件上,而不是请求本身上。

    req.on('response', function (res) {
      res.on('data', console.log);
    });
    

    编辑:Here is a good article 关于如何使用 Node 发出 HTTP 请求。

    【讨论】:

    • 感谢您的回复。就是这样。'response' 事件只发生一次。问题是服务器为最后一个请求发送了两条单独的消息。如何捕获第二条消息。
    猜你喜欢
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多