ObjectDeliverer
v1.5.1
https://www.unrealengine.com/marketplace/ja/slug/objectdeliverer
ObjectDeliverer is a data transmission / reception library for Unreal Engine (C ++, Blueprint).
It has the following features.
The master branch is buildable with UE5 5.0 or later; UE4 requires some modifications to build.
The following protocols can be used with built-in. You can also add your own protocol.
The following rules are available for built-in split rules of transmitted and received data.
FixedSize
Example) In the case of fixed 1024 bytes
Header(BodySize) + Body
Example) When the size area is 4 bytes
Split by terminal symbol
Example) When 0x00 is the end
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
}
Look at the Wiki https://github.com/ayumax/ObjectDeliverer/wiki