Versions Compared

Key

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

...

Code Block
languagec#
themeEmacs
titleReceiveActor
linenumberstrue
 
    public class SomeMessage
    {
        public string message { set; get; }
    }

    public class MyActor : ReceiveActor
    {        

        public MyActor()
        {
            Receive<string>(message => {
                Sender.Tell("RE:" + message);                
            });

            Receive<SomeMessage>(message => {
                Sender.Tell("RE:" + message.message);
            });
        }
    }


Code Block
languagec#
themeEmacs
titleUntyped Actor
linenumberstrue
    public class MyActorSame : UntypedActor   //MyActor와 동일한 기능을 하는 Actor로 OnReceive 이벤트 발생 함수를 통해 조금더 명시적(덜추상적)으로 메시지를 처리합니다.
    {        
        protected override void OnReceive(object message)
        {
            if(message is string)
            {
                if (message as string == "createChild")
                {
                    Context.ActorOf<MyActor>("myChild");
                    Sender.Tell("Create Child Succed:myChild");
                }
                else
                {
                    Sender.Tell("RE:" + message);
                }
            }
            else if(message is SomeMessage)
            {
                Sender.Tell("RE:" + (message as SomeMessage).message );
            }
        }
    }



 Actor는, 메시지를  송수신을 정의하는 가장작은 객체의 정의 이며, 능동적 객체라고 볼수 있다.

...