https://www.unrealengine.com/marketplace/ja/slug/objectdeliverer
ObjectDeliverer es una biblioteca de transmisión/recepción de datos para Unreal Engine (C++, Blueprint).
Tiene las siguientes características.
La rama maestra se puede construir con UE5 5.0 o posterior; UE4 requiere algunas modificaciones para su construcción.
Los siguientes protocolos se pueden utilizar con el integrado. También puedes agregar tu propio protocolo.
Las siguientes reglas están disponibles para reglas de división integradas de datos transmitidos y recibidos.
Tamaño fijo
Ejemplo) En el caso de 1024 bytes fijos
Encabezado (Tamaño del cuerpo) + Cuerpo
Ejemplo) Cuando el área de tamaño es de 4 bytes
Dividido por símbolo de terminal
Ejemplo) Cuando 0x00 es el final
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
}
Mira la Wiki https://github.com/ayumax/ObjectDeliverer/wiki