Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

자식액트(하위노드) 의 생성을 반환하는 메시지를 응답하는 예제입니다.


이것을 작동하는 작동시키는 코드는 아래와 같이 하면 되겠습니다.

...

특정노드를 선택하여, 자식 노드 동적으로만들고, 자식노드에게 메시지 보내기

Code Block
languagec#
themeEmacs
linenumberstrue
        protected void SomeTest2()
        {
            IActorRef myActor = actorSystem.ActorOf<MyActor>("myactor");
            Console.WriteLine(myActor.Ask("createChild").Result);
            Console.WriteLine(actorSystem.ActorSelection("/user/myactor").Ask("Hello Akka1").Result);
            Console.WriteLine( actorSystem.ActorSelection("/user/myactor/myChild").Ask("Hello Akka2").Result );
        }
Expand
titleResult

Create Child Succed:myChild
RE:Hello Akka1
RE:Hello Akka2


주로  어떠한 메시지를 받았을때, 동적으로 액터를 생성시 활용을 합니다.  REST API의 Endpoint체계는 다소 정적이지만

Actor의 EndPoint체계는 이러한 이유로 , 뎁스 추가 삭제가 자유롭습니다.


사용자가 만든 액터 로트의 루트의 최상위는 'user' 이며 만든 계층에따라 하위 뎁스로 가거나 수평으로 뻗어 가게 됩니다. 

actorSystem에 의해 어떠한 이름(myactor))으로 만들어졌다면  'user/myactor'
myactor가 어떠한 이름(myChild) 하위 노드를 만들었다면 'user/myactor/myChild' 이렇게 계층화가 됩니다.

그리고 , 액트시스템은 어떠한 액터라도 선택할수 있으며

actorSystem  actorSystem.ActorSelection( 액터주소).어떠한액션() 을 할수가 있습니다. 이러한 접근방식으로 메시지 전송이 가능합니다.


주소체계

...