大家好我有关于Pyro4和Java的问题。我的问题是如何在Java中的RMI服务器和Python中的客户端RMI之间发送信息? 这是我的代码,我没有任何错误,但我不能发送任何内容。
Java代码:
implements ReceiveMessageInterface
{
int thisPort;
String thisAddress;
Registry registry; // rmi registry for lookup the remote objects.
// This method is called from the remote client by the RMI.
// This is the implementation of the �gReceiveMessageInterface�h.
public void receiveMessage(String x) throws RemoteException
{
System.out.println(x);
}
public RmiServer() throws RemoteException
{
try{
// get the address of this host.
thisAddress= (InetAddress.getLocalHost()).toString();
}
catch(Exception e){
throw new RemoteException("can't get inet address.");
}
thisPort=3232; // this port(registry�fs port)
System.out.println("this address="+thisAddress+",port="+thisPort);
try{
// create the registry and bind the name and object.
registry = LocateRegistry.createRegistry( thisPort );
registry.rebind("rmiServer", this);
}
catch(RemoteException e){
throw e;
}
}
static public void main(String args[])
{
try{
RmiServer s=new RmiServer();
}
catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
}
这是我在Python中的代码:
导入Pyro4
代理= Pyro4.core.Proxy( “PYRONAME:PhDJara / 127.0.1.1”)
print(“5 * 11 =%d”%proxy.multiply(5,11))print(“'x'* 10 =%s”% proxy.multiply( 'X',10))
感谢您的帮助。
jarain78
答案 0 :(得分:0)
是什么让你认为你应该能够连接这两个? Pyro4在概念上与Java的RMI类似,但它们是两个完全不同的协议。你无法直接连接它们。
如果您想使用Pyro编写Python客户端并与服务器通信,那么该服务器必须是Pyro服务器。在Java中创建一个的唯一方法是使用Jython + Pyro。