All Projects → ayumax → Objectdeliverer

ayumax / Objectdeliverer

Licence: mit
ObjectDeliverer is a data transmission / reception library for Unreal Engine (C ++, Blueprint).

Projects that are alternatives of or similar to Objectdeliverer

Varest
REST API plugin for Unreal Engine 4 - we love restfull backend and JSON communications!
Stars: ✭ 707 (+806.41%)
Mutual labels:  unreal-engine, blueprint
Logbert
Logbert is an advanced log message viewer for log4net, log4j and others.
Stars: ✭ 70 (-10.26%)
Mutual labels:  tcp, udp
Tensorflow Ue4
TensorFlow plugin for Unreal Engine 4
Stars: ✭ 753 (+865.38%)
Mutual labels:  unreal-engine, blueprint
Blinksocks
A framework for building composable proxy protocol stack.
Stars: ✭ 587 (+652.56%)
Mutual labels:  tcp, udp
Objecttransport
Send and Receive objects over TCP or UDP
Stars: ✭ 39 (-50%)
Mutual labels:  tcp, udp
Libnet
A portable framework for low-level network packet construction
Stars: ✭ 640 (+720.51%)
Mutual labels:  tcp, udp
Gensio
A library to abstract stream I/O like serial port, TCP, telnet, UDP, SSL, IPMI SOL, etc.
Stars: ✭ 30 (-61.54%)
Mutual labels:  tcp, udp
Proxy admin free
Proxy是高性能全功能的http代理、https代理、socks5代理、内网穿透、内网穿透p2p、内网穿透代理、内网穿透反向代理、内网穿透服务器、Websocket代理、TCP代理、UDP代理、DNS代理、DNS加密代理,代理API认证,全能跨平台代理服务器。
Stars: ✭ 487 (+524.36%)
Mutual labels:  tcp, udp
Godsharp.socket
An easy-to-use .NET socket server and client.
Stars: ✭ 35 (-55.13%)
Mutual labels:  tcp, udp
Tools
C# 工具箱,提供Socket(TCP、UDP协议)、Redis、activemq、数据库访问等技术的封装实现
Stars: ✭ 34 (-56.41%)
Mutual labels:  tcp, udp
Netassistant
A UDP/TCP Assistant. 网络调试助手
Stars: ✭ 66 (-15.38%)
Mutual labels:  tcp, udp
Mr2
Mr.2 can help you expose local server to external network. Support both TCP/UDP, of course support HTTP. Zero-Configuration.
Stars: ✭ 1,102 (+1312.82%)
Mutual labels:  tcp, udp
Impulse
💣 Impulse Denial-of-service ToolKit
Stars: ✭ 538 (+589.74%)
Mutual labels:  tcp, udp
Elixir Socket
Socket wrapping for Elixir.
Stars: ✭ 642 (+723.08%)
Mutual labels:  tcp, udp
Leaf
A lightweight and fast proxy utility tries to include any useful features.
Stars: ✭ 530 (+579.49%)
Mutual labels:  tcp, udp
Parallec
Fast Parallel Async HTTP/SSH/TCP/UDP/Ping Client Java Library. Aggregate 100,000 APIs & send anywhere in 20 lines of code. Ping/HTTP Calls 8000 servers in 12 seconds. (Akka) www.parallec.io
Stars: ✭ 777 (+896.15%)
Mutual labels:  tcp, udp
Yasio
A multi-platform support c++11 library with focus on asio (asynchronous socket I/O) for any client application.
Stars: ✭ 483 (+519.23%)
Mutual labels:  tcp, udp
Libzt
ZeroTier Sockets - Put a network stack in your app
Stars: ✭ 486 (+523.08%)
Mutual labels:  tcp, udp
Mts
Project of Multi-protocol Test Tool opensourced by Ericsson
Stars: ✭ 34 (-56.41%)
Mutual labels:  tcp, udp
Media Tutorial
流处理,TCP和UDP,WebRTC和Blob
Stars: ✭ 47 (-39.74%)
Mutual labels:  tcp, udp

ObjectDeliverer

UE4 Marketplace

https://www.unrealengine.com/marketplace/ja/slug/objectdeliverer

Description

ObjectDeliverer is a data transmission / reception library for Unreal Engine (C ++, Blueprint).

It has the following features.

  • Communication protocol, data division rule, serialization method can be switched by part replacement.
  • Available for both C ++ and Blueprint

Relationship between branch and UE4 Engine version

The master branch only supports UE4 4.25. You cannot build with 4.24 or lower. Use the'lessthan_425 'branch if you use it below 4.24.

Engine Version branch
4.25 master
4.24 or less lessthan_425

Communication protocol

The following protocols can be used with built-in. You can also add your own protocol.

  • TCP/IP Server(Connectable to multiple clients)
  • TCP/IP Client
  • UDP(Sender)
  • UDP(Receiver)
  • Shared Memory(Windows Only)
  • LogFile Writer
  • LogFile Reader

Data division rule

The following rules are available for built-in split rules of transmitted and received data.

  • FixedSize
    Example) In the case of fixed 1024 bytes fixedlength

  • Header(BodySize) + Body
    Example) When the size area is 4 bytes
    sizeandbody

  • Split by terminal symbol
    Example) When 0x00 is the end terminate

Serialization method

  • Byte Array
  • UTF-8 string
  • Object(Json)

Installation

  • Please clone this repository
  • Please copy the Plugins directory to the project folder
  • Please activate ObjectDeliverer from Plugins after launching editor

Quick Start

  1. Create an ObjectDelivererManager
  2. Create a DeliveryBox(If you wish to send and receive data other than binary)
  3. Set the send / receive protocol and PacketRule, then start the ObjectDelivererManager

gallery 1

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
}

How to use each function

Look at the Wiki https://github.com/ayumax/ObjectDeliverer/wiki

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].