2017-12-03 5 views
2

CArtAgOインフラストラクチャによってJaCaMoアプリケーションにリモート接続しようとしています。CArtAgO java.rmi.ConnectException分散環境で接続が拒否されました

mas testsvr { 
    agent bob 
    workspace world 
    platform: cartago(infrastructure) 
    class-path: lib      // java class path 
    asl-path: src/agt, src/agt/inc  // agent source path 
} 

とクライアントアプリケーション、このようなものです:私は、私は次の出力を得たサーバーのリスニングを実行したとき

mas testclient { 
    agent alice 
    platform: cartago() 
    node n1 running @ 10.0.0.14 
    class-path: lib      // java class path 
    asl-path: src/agt, src/agt/inc  // agent source path 
} 

私JCMファイルは、このようなサーバーで

CArtAgO Http Server running on http://127.0.1.1:3273 
Jason Http Server running on http://127.0.1.1:3272 
Looking for rmi://10.0.0.11/cartago_node 
java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is: 
    java.net.ConnectException: Connection refused 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) 
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) 
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) 
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:130) 
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227) 
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179) 
    at com.sun.proxy.$Proxy6.join(Unknown Source) 
    at cartago.infrastructure.rmi.CartagoInfrastructureLayer.joinRemoteWorkspace(CartagoInfrastructureLayer.java:62) 
    at cartago.CartagoService.joinRemoteWorkspace(CartagoService.java:372) 
    at cartago.NodeArtifact.joinRemoteWorkspace(NodeArtifact.java:99) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at cartago.ArtifactOpMethod.exec(ArtifactOpMethod.java:39) 
    at cartago.Artifact.doOperation(Artifact.java:407) 
    at cartago.Artifact.access$200(Artifact.java:32) 
    at cartago.Artifact$ArtifactAdapter.doOperation(Artifact.java:1275) 
    at cartago.WorkspaceKernel.serveOperation(WorkspaceKernel.java:1136) 
    at cartago.WorkspaceKernel.access$000(WorkspaceKernel.java:48) 
    at cartago.WorkspaceKernel$EnvironmentController.run(WorkspaceKernel.java:1477) 

私はサーバーを使わずに出力を聞いていたら、

CArtAgO Http Server running on http://127.0.1.1:3273 
Jason Http Server running on http://127.0.1.1:3272 
java.rmi.ConnectException: Connection refused to host: 10.0.0.11; nested exception is: 
    java.net.ConnectException: Connection refused 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) 
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) 
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) 
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342) 
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) 
    at java.rmi.Naming.lookup(Naming.java:101) 
    at cartago.infrastructure.rmi.CartagoInfrastructureLayer.joinRemoteWorkspace(CartagoInfrastructureLayer.java:58) 
    at cartago.CartagoService.joinRemoteWorkspace(CartagoService.java:372) 
    at cartago.NodeArtifact.joinRemoteWorkspace(NodeArtifact.java:99) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at cartago.ArtifactOpMethod.exec(ArtifactOpMethod.java:39) 
    at cartago.Artifact.doOperation(Artifact.java:407) 
    at cartago.Artifact.access$200(Artifact.java:32) 
    at cartago.Artifact$ArtifactAdapter.doOperation(Artifact.java:1275) 
    at cartago.WorkspaceKernel.serveOperation(WorkspaceKernel.java:1136) 
    at cartago.WorkspaceKernel.access$000(WorkspaceKernel.java:48) 
    at cartago.WorkspaceKernel$EnvironmentController.run(WorkspaceKernel.java:1477) 

したがって、クライアントがサーバーを検出したが、何か問題が発生して接続が拒否されたことを示しています。何が起こっている?デフォルトのCArtAgOの接続ポートはどれですか?

答えて

1

カルタゴは、Java RMIを使用して、デフォルトのポートはどうかiptablesのINPUTをチェック制限なしでサーバーとクライアントを残すことが示唆されているデフォルトのポートは20101.他の定数はhttp://www.emse.fr/~boissier/enseignement/maop17-spring/doc/api/cartago-api/index.html?constant-values.html

で確認することができますされLipeRMI接続の場合は20100.です、FORWARDとOUTPUTはいずれの場合もACCEPTを示しています。あなたは、ポート20100がアプリで開かれた場合(あなたはSSやnetstatコマンドを使用することができます)を参照してくださいすることができます実行しているJaCaMoアプリケーションをLinux上で

$ iptables -L -v 

:あなたは、次のコマンドを使用することができます。応答は、接続が名前を使用しますので、マシンのために働いてDNSを持つことも必要である20100ポート

$ ss -tnl | grep 20100 

または

$ netstat -tuplen | grep 20100 

ための「LISTEN」でなければなりません。マシン名を使用してコマンドpingを実行してテストすることができます。サーバーから

$ ping name_server 

(ピングクライアント)

$ ping name_client1 
:クライアントからの
関連する問題