ObjectDeliverer
v1.5.1
https://www.unrealengine.com/marketplace/ja/slug/objectdeliverer
ObjectDeliverer เป็นไลบรารีการรับส่งข้อมูลสำหรับ Unreal Engine (C ++, Blueprint)
มันมีคุณสมบัติดังต่อไปนี้
สาขาหลักสามารถสร้างได้ด้วย UE5 5.0 หรือใหม่กว่า UE4 ต้องมีการปรับเปลี่ยนบางอย่างเพื่อสร้าง
สามารถใช้โปรโตคอลต่อไปนี้กับบิวท์อินได้ คุณยังสามารถเพิ่มโปรโตคอลของคุณเองได้
กฎต่อไปนี้พร้อมใช้งานสำหรับกฎการแยกในตัวของข้อมูลที่ส่งและรับ
ขนาดคงที่
ตัวอย่าง) ในกรณีคงที่ 1024 ไบต์
ส่วนหัว(ขนาดลำตัว) + ลำตัว
ตัวอย่าง) เมื่อพื้นที่ขนาด 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
}
ดูที่ Wiki https://github.com/ayumax/ObjectDeliverer/wiki