Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用Py4J在不同于Python的服务器上调用Java方法_Java_Python_Py4j - Fatal编程技术网

是否可以使用Py4J在不同于Python的服务器上调用Java方法

是否可以使用Py4J在不同于Python的服务器上调用Java方法,java,python,py4j,Java,Python,Py4j,我正在使用py4j进行python和java之间的通信。 目前,java进程和python在同一台服务器上。 我想知道,在不改变当前使用Py4J的方法的情况下,是否可以将这两个服务器分成不同的服务器。 如果可能的话,有人能帮我直接找到相关文档或显示如何执行此操作的代码片段吗?我不知道您是否仍在寻找答案,但有人可能会觉得这很有帮助: 当您通过调用构造函数创建网关时 GatewayServer gatewayServer = new GatewayServer(new YourEntryPoint(

我正在使用py4j进行python和java之间的通信。
目前,java进程和python在同一台服务器上。
我想知道,在不改变当前使用Py4J的方法的情况下,是否可以将这两个服务器分成不同的服务器。

如果可能的话,有人能帮我直接找到相关文档或显示如何执行此操作的代码片段吗?

我不知道您是否仍在寻找答案,但有人可能会觉得这很有帮助:

当您通过调用构造函数创建网关时

GatewayServer gatewayServer = new GatewayServer(new YourEntryPoint(), gatewayPort);
然后,网关的默认java IP地址将设置为
127.0.0.1(localhost)
。 IP地址设置为
localhost
的网关将只应答来自localhost(同一台机器)的请求

您可以使用IP
0.0.0.0
使其使用计算机的所有IP或指定计算机的一个IP

指定Java IP的一种方法是使用
GatewayServer.GatewayServerBuilder

GatewayServer.GatewayServerBuilder builder = new GatewayServer.GatewayServerBuilder();
GatewayServer gatewayServer = builder
       .entryPoint(new YourEntryPoint())
       .javaPort(gatewayPort)
       .javaAddress(InetAddress.getByName("0.0.0.0"))  // .getByName throws UnknownHostException
       .build();

我不知道你还在寻找答案,但有人可能会觉得这很有帮助:

当您通过调用构造函数创建网关时

GatewayServer gatewayServer = new GatewayServer(new YourEntryPoint(), gatewayPort);
然后,网关的默认java IP地址将设置为
127.0.0.1(localhost)
。 IP地址设置为
localhost
的网关将只应答来自localhost(同一台机器)的请求

您可以使用IP
0.0.0.0
使其使用计算机的所有IP或指定计算机的一个IP

指定Java IP的一种方法是使用
GatewayServer.GatewayServerBuilder

GatewayServer.GatewayServerBuilder builder = new GatewayServer.GatewayServerBuilder();
GatewayServer gatewayServer = builder
       .entryPoint(new YourEntryPoint())
       .javaPort(gatewayPort)
       .javaAddress(InetAddress.getByName("0.0.0.0"))  // .getByName throws UnknownHostException
       .build();