ObjectDeliverer
v1.5.1
https://www.unrealengine.com/marketplace/ja/slug/objectdeliverer
ObjectDeliverer는 Unreal Engine(C++, Blueprint)용 데이터 송수신 라이브러리입니다.
다음과 같은 특징이 있습니다.
마스터 브랜치는 UE5 5.0 이상으로 빌드 가능합니다. UE4를 빌드하려면 약간의 수정이 필요합니다.
다음 프로토콜을 내장하여 사용할 수 있습니다. 자신만의 프로토콜을 추가할 수도 있습니다.
전송 및 수신된 데이터의 내장 분할 규칙에 다음 규칙을 사용할 수 있습니다.
고정크기
예) 고정 1024바이트의 경우
헤더(BodySize) + 본문
예) 크기 영역이 4바이트인 경우
터미널 기호로 분할
예) 0x00이 끝인 경우
void UMyClass::Start ()
{
auto deliverer = UObjectDelivererManager::CreateObjectDelivererManager ();
// bind connected event
deliverer-> Connected . AddDynamic ( this , &UMyClass::OnConnect);
// bind disconnected event
deliverer-> Disconnected . AddDynamic ( this , &UMyClass::OnDisConnect);
// bind receive event
deliverer-> ReceiveData . AddDynamic ( this , &UMyClass::OnReceive);
// start deliverer
// + protocol : TCP/IP Server
// + Data division rule : Header(BodySize) + Body
// + Serialization method : Byte Array
deliverer-> Start ( UProtocolFactory::CreateProtocolTcpIpServer ( 9099 ),
UPacketRuleFactory::CreatePacketRuleSizeBody ());
}
void UMyClass::OnConnect (UObjectDelivererProtocol* ClientSocket)
{
// send data
TArray<uint8> buffer;
deliverer-> Send (buffer);
}
void UMyClass::OnDisConnect (UObjectDelivererProtocol* ClientSocket)
{
// closed
UE_LOG (LogTemp, Log, TEXT ( " closed " ));
}
void UMyClass::OnReceive (UObjectDelivererProtocol* ClientSocket, const TArray<uint8>& Buffer)
{
// received data buffer
}
위키를 보세요 https://github.com/ayumax/ObjectDeliverer/wiki