我正在尝试在使用zerorpc成功实现的node.js文件和python代码之间建立连接。当我尝试运行node.js文件时,出现了问题示例:
node.js文件:
var global_variable = 0;
var json_object = "Some Json Object";
console.log("1");
NodeToPython(json_object); //Calling the function
function NodeToPython(json_object_local)
{
var send_json = json_object_local;
var zerorpc = require("zerorpc");
var client = new zerorpc.Client();
client.connect("tcp://localhost:4242");
console.log("2");
client.invoke("receive", send_json, function(error, res, more)
{
global_variable = JSON.parse(res); // 'res' stores retrieved value from Python code
console.log("3");
client.close();
}
console.log("4");
}
console.log("5");
python文件:
import zerorpc, json
class XYZ(object):
def receive(self,response): // Called function
self.response=json.loads(response);
print("Py");
return json.dumps(self.response,encoding="utf-8",indent=2);
上述代码的输出将如下:1245py3
我希望输出像线一样像线一样顺序,并且应该同时调用并从python函数中获取值,例如:12py345
nodejs偏爱延续的编程风格。当您在客户端上调用Invoke时,您将安排一个函数以稍后运行。每当RPC调用成功或失败时,此功能将在结果和可能的错误时调用。从那时起,您可以继续工作并安排更多功能。