Page History
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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는, 메시지를 송수신을 정의하는 가장작은 객체의 정의 이며, 능동적 객체라고 볼수 있다.
...
위 두 코드는, 샘플코드 내에서 같은 의미이지만... 생성코드를 줄이고 생성방법을 획일화 할수가 있습니다.
주소체계
...
잠시 실습없이, Actor를 접근하는 주소체계에대해 설명 드리겠습니다. ActorPath는 총 4가지로 구분이 되며
...