[Akka.NET] 액터 부모, 자식 메시지 주고 받기
- C#/Akka(Actor)
- 2022. 1. 12. 19:12
소개
오늘은 액터에서 부모 액터, 자식 액터를 생성한 후 부모와 자식에게 서로 메시지를 주고 받는 방법에 대해서 알려 드리려고 합니다.
크게 어려운 부분이 아니기 때문에 바로 예제 코드를 통해서 보여 드리겠습니다.
예제 코드
using Akka.Actor;
using System;
namespace interfaceTest
{
class Program
{
// 액터 시스템 생성
static ActorSystem system = ActorSystem.Create("actorSystem");
static void Main(string[] args)
{
// 부모 액터
IActorRef parentActor = system.ActorOf(ParentActor.Props(), "parentActor");
//ActorSystem 종료 대기
system.WhenTerminated.Wait();
}
}
public class ParentActor : ReceiveActor
{
public static Props Props()
{
return Akka.Actor.Props.Create(() => new ParentActor());
}
public ParentActor()
{
IActorRef childActor = Context.ActorOf(ChildActor.Props(), "childActor");
//부모가 자식에게 메시지 보내기
childActor.Tell("자식아, 부모다. 메시지 받아라.");
Receive<string>(_ => Handle(_));
}
public void Handle(string message)
{
Console.WriteLine($"부모 액터 Re : {message}");
}
}
public class ChildActor : ReceiveActor
{
public static Props Props()
{
return Akka.Actor.Props.Create(() => new ChildActor());
}
public ChildActor()
{
//부모에게 메시지 보내기
Context.Parent.Tell("부모님, 자식된 도리로써 인사 드립니다.");
Receive<string>(_ => Handle(_));
}
public void Handle(string message)
{
Console.WriteLine($"자식 액터 Re : {message}");
}
}
}
실행 결과
부모 액터 Re : 부모님, 자식된 도리로써 인사 드립니다.
자식 액터 Re : 자식아, 부모다. 메시지 받아라.
728x90
'C# > Akka(Actor)' 카테고리의 다른 글
[Akka.NET] 액터 메시지 받기 (0) | 2022.01.15 |
---|---|
[Akka.NET] 액터끼리 메시지 주고 받기 (1) | 2022.01.12 |
[Akka.NET] 액터 메시지 보내기 - Tell (1) | 2022.01.12 |
[Akka.NET] 액터 생성하기 (1) | 2022.01.11 |
Akka.Cluster 란? (0) | 2022.01.11 |
이 글을 공유하기