Система Akka.net не видит удаленного актера - PullRequest
0 голосов
/ 11 октября 2019

У меня есть два простых консольных приложения, которые содержат систему актера. Каждое приложение работает на отдельном компьютере. Я хочу выбрать актера из второго приложения и отправить сообщение.

Первый

    class Program
    {
        static void Main(string[] args)
        {
            var config = ConfigurationFactory.ParseString(@"
akka {  
    actor {
        provider = ""Akka.Remote.RemoteActorRefProvider, Akka.Remote""
    }
    remote {
        dot-netty.tcp {
            port = 8080
            hostname = 0.0.0.0
            public-hostname = 192.168.0.175
        }
    }
}");

            using (var system = ActorSystem.Create("System1", config))
            {
                var actorSelection2 = system.ActorSelection("akka.tcp://System2@192.168.0.152:8082/user/Actor");
                var actor2 = actorSelection2.ResolveOne(TimeSpan.FromSeconds(3)).Result;
                actor2.Tell("Hello from System1!");

                Console.ReadKey();
            }
        }
    }

Второй

    class Program
    {
        static void Main(string[] args)
        {
            var config = ConfigurationFactory.ParseString(@"
akka {  
    actor {
        provider = ""Akka.Remote.RemoteActorRefProvider, Akka.Remote""
    }
    remote {
        dot-netty.tcp {
            port = 8082
            hostname = 0.0.0.0
            public-hostname = 192.168.0.152
        }
    }
}");

            using (var system = ActorSystem.Create("System2", config))
            {
                var actor = system.ActorOf<Actor>("Actor");
                Console.ReadKey();
            }
        }
    }

    public class Actor : ReceiveActor
    {
        public Actor()
        {
            Receive<string>(msg =>
            {
                Console.WriteLine($"RECEIVE: {msg}");
            });
        }
    }

Система1 не может разрешить «Актер», не видитЭто. Это неправильный конфиг или проблемы с сетью? Любая идея, как я могу устранить эту проблему? Спасибо!

...