https://www.unrealengine.com/marketplace/ja/slug/objectdeliverer
ObjectDeliverer ist eine Datenübertragungs-/Empfangsbibliothek für Unreal Engine (C++, Blueprint).
Es verfügt über die folgenden Funktionen.
Der Hauptzweig kann mit UE5 5.0 oder höher erstellt werden; Für die Erstellung von UE4 sind einige Änderungen erforderlich.
Die folgenden Protokolle können mit integrierter Funktion verwendet werden. Sie können auch Ihr eigenes Protokoll hinzufügen.
Die folgenden Regeln stehen für integrierte Aufteilungsregeln für gesendete und empfangene Daten zur Verfügung.
Feste Größe
Beispiel) Bei festen 1024 Bytes
Header(BodySize) + Body
Beispiel) Wenn der Größenbereich 4 Byte beträgt
Aufteilung nach Terminalsymbol
Beispiel) Wenn 0x00 das Ende ist
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
}
Schauen Sie sich das Wiki an: https://github.com/ayumax/ObjectDeliverer/wiki