私は、socket.io クライアントからデータをフェッチして、別のクライアントからの POST 要求への応答を入力しようとする node.js アプリに取り組んでいます。何かのようなもの...
- クライアント A からの POST http 要求
- サーバーはクライアント B から socket.io 経由でデータを要求します
- クライアント B は、ソケットを介してサーバーにデータを返します
- サーバーがクライアント A に応答する
最初の POST リクエストを行うクライアント A は Web サービス (Plivo/plivo-node) であるため、サーバーへのヒット方法を変更することはできません。
POST リクエストで呼び出されるノード コードは次のようになります...
app.handlePlivoRequest = function (req, res) {
// create Plivo response object
var r = plivo.Response();
// set listener for client response
client.socket.on('callResponse', function(msg){
// add msg data from client to the Plivo response
r.addSpeak(msg);
});
// forward request to socket client
client.socket.emit('call', req.body );
// render response as XML for Plivo
return r.toXML();
}
私が抱えている問題は、クライアントからの応答を待たずに handlePlivoRequest が返されることです。
ソケットが応答するのを待つためにこれをリファクタリングする方法を手伝ってくれる人はいますか?
ありがとう!