节点js服务器和python之间的流响应

时间:2017-05-23 15:57:49

标签: python sockets zerorpc

我需要建议如何设置从节点js服务器到python的流响应,从python返回到节点js。

有四个文件 a)节点js脚本 b)serverConn.py脚本 c)从serverconn.py脚本中获取输入的python文件,名为count.py d)从count.py获取输入并将其返回到serverConn以发送回node.js服务器的python文件

我读了zerorpc,我正在使用它将节点js的输入发送到python,但是python脚本也必须将输入发送到另一个python脚本,而且python脚本也必须将输入发送到另一个python脚本,然后将结果发送回节点js服务器。

对于刚离开大学的人来说,一切似乎都很复杂。

我看到了这个帖子,也想知道我是否可以使用这样的东西来让两个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");

这是我的python脚本

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脚本从节点js文件获取输入,并将其发送到matchcount.py文件,matchcount.py将其发送到calculate.py文件,calculate.py文件将其发送回节点js。

关于我如何处理此问题是否有任何提示,我发布的链接会有帮助吗?

谢谢。

1 个答案:

答案 0 :(得分: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进程。