0

I set up two actors locally but with different actor systems. The objective here is to get actor A to send messages to actor B.

However I just couldn't get that actor A to send a message(remoting) to actor B using ActorSelection like this:

  parent.ActorSelection("akka.tcp://RemoteSystem@localhost:8888/user/RemoteActor/ChildActor").Tell(msg)

Error of " Invalid address " would come out. What i did wrong?

I am at my wit's end.

EDIT:

Here's my client config:

    let system =
        let config = """
    akka {  
        loglevel=DEBUG,
        log-config-on-start = on,
        #loggers="Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog"
        actor {
           provider = "Akka.Remote.RemoteActorRefProvider, Akka.Remote"
           debug {  
              receive = on 
              autoreceive = on
              lifecycle = on
              event-stream = on
              unhandled = on
           }
        remote {
            helios.tcp {
                transport-class =     "Akka.Remote.Transport.Helios.HeliosTcpTransport, Akka.Remote"
                applied-adapters = []
                transport-protocol = tcp
                port = 0
                hostname = "localhost"
                # Maximum frame size: 600KB
                maximum-frame-size = 500000b
                log-remote-lifecycle-events = DEBUG
            }  

        }
    }
    """

and here's my server config:

    let system =
        let config = """
    akka {  
        loglevel=DEBUG,
        log-config-on-start = on,
        #loggers="Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog"
        actor {
            provider = "Akka.Remote.RemoteActorRefProvider, Akka.Remote"
            debug {  
                receive = on 
                autoreceive = on
                lifecycle = on
                event-stream = on
                unhandled = on
            }
        remote {
            helios.tcp {
                transport-class = "Akka.Remote.Transport.Helios.HeliosTcpTransport, Akka.Remote"
                applied-adapters = []
                transport-protocol = tcp
                port = 8888
                hostname = "localhost"
                # Maximum frame size: 600KB
                maximum-frame-size = 600000b
                log-remote-lifecycle-events = DEBUG
            }

        }
    }
    """

and here's the output from client:

    [![error][1]][1]

another thing is, why the port number always fallback to 2552 ? i have used app.config as well as parsing from inside code. Still it is using the same port number.

himekami
  • 1,419
  • 3
  • 13
  • 21

0 Answers0