2017-05-23 9 views
0

私は、ノードjsサーバからPythonへのストリーミング応答を設定する方法についてアドバイスが必要です。ノードjsサーバとPythonの間のストリーミング応答

4つのファイル a)のノードjsのスクリプト B)serverConn.pyスクリプト C)count.py Dと呼ばれるserverconn.pyスクリプトから入力を受け取り、Pythonのファイル)入力を受け取り、Pythonのファイルがあります。 count.pyから戻ってそれをserverConnに戻してnode.jsサーバーに戻します

私はzerorpcを読んでいますが、現在はノードjsからpythonに入力を送信するために使用していますが、pythonスクリプト入力を別のpythonスクリプトに送信しなければならず、pythonスクリプトは入力を別のpythonスクリプトに送信し、その結果をノードjsサーバーに返さなければなりません。

ちょうど大学を卒業したばかりの人は、すべてが複雑に思えます。

私はこのスレッドを見て、2つのpythonスクリプトが互いに通信するためにこれを使うことができるのだろうかと思っていました。

How to get a python script to listen for inputs from another script

これは私のノードのjsスクリプト

var server = new zerorpc.Server({ 
    hello: function(name, reply) { 
     var catalog = "3D"; 

     reply(null, catalog + name); 
    } 
}); 

    server.bind("tcp://0.0.0.0:4244"); 

であり、これは

import zerorpc 
class serverConn: 
    def __init__(self): 
     self.c = "tcp://127.0.0.1:4244" 

    def client(self): 
     c = zerorpc.Client() 
     c.connect(self.c) 
     catalog = c.hello("") 
     return catalog 

s = serverConn() 
s.client() 

私のPythonスクリプトでPythonスクリプトは、ノードのjsファイルから入力を取得し、それを送信matchcount.pyファイルに、matchcount.pyはcalculate.pyファイルに、calculate.pyファイルはノードjにそれを返します。

私はこれについてどのように進むことができるかについてのヒントはありますか?

ありがとうございます。

答えて

1

あなたはnodejs - > python#1 - > python#2 - > python#3です。 nodejsプロセスはクライアントのみです。 Python#1と#2は、次のPythonプロセスのサーバーとクライアントです。 Python#3はサーバーだけです。

したがって、nodejsプロセスは、zerorpcクライアントを使用して、Python#1上の特定のプロシージャを呼び出す必要があります。 Python#1は、この手順でzerorpc Serverを実行します。この手順では、zerorpcクライアントなどが使用されます。最後のプロセスがそのプロシージャから戻ると、zerorpcはその値を呼び出し側のプロセスに戻します。各プロシージャがリモートプロシージャコールの結果を常に返す場合結果は最終的にnodejsプロセスに戻ります。

+0

ちょっと@bombela、あなたの応答をありがとう、私は実際にあなたのアイデアと同じように動作しているすべて持っている。現在、node.jsの結果をwatsonのチャットボットサービスに送り返しています。ありがとう、そしてZerorpcの岩! – PythonRookie

+0

喜んで私は助けることができました。どういたしまして。 – bombela

関連する問題