Socket.IO Client

Getnamo - Aug 30, 2018
26
4.58 out of 5 stars(26 ratings)
  • 85%
  • 4%
  • 4%
  • 0%
  • 8%

Real-time networking library Socket.IO Client available for easy use in Blueprint and c++.

  • Supported Platforms
  • Supported Engine Versions
    4.19 - 4.25
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

Socket.io is a performant real-time bi-directional communication library. There are two parts, the server typically written in node.js and the client often in javascript for the web. There are alternative client implementations and this plugin uses the C++11 client library ported to Unreal Engine.


The plugin enables very easy real-time communications to web sites and services, phones, IoT devices, and other Unreal Engine instances. Want to enable chat with websites, phones, or other unreal games? Want to stream large data in or out of your projects? Want to control your arduino LED lights with light properties inside the engine? this plugin enables those use cases and more in a developer focused package.


Simply add a SocketIOClient component to your actor of choice and it will auto-connect to your endpoint of choice on beginplay (or at own time if desired). Then you can emit and receive events from your server directly into Blueprint structs and types you define. Check out the example chat project for a use case example.

Example video of chat project: https://www.youtube.com/watch?v=RqjpWukQwxs

Example chat project: https://github.com/getnamo/socketio-client-ue4-example

There are plenty of advanced productivity features and how-to cases, which are explained in the

latest documentation, always available at: https://github.com/getnamo/socketio-client-ue4

Technical Details

Features:

  • Real-time bi-directional communication via websockets and http
  • Enables communication with a wide range of devices and services available via e.g. node.js
  • Socket.IO v1.4+ support
  • Blueprint and C++ support
  • SIOJson module for Auto-JSON conversion and serialization via structs or custom object graphs
  • Binary type interweaving in JSON support as per Socket.IO spec
  • Bind events to graph or functions by name with matching signature
  • Emit with callbacks, enabling Remote Procedure Calls (RPC) and server data acknowledgement
  • Drag and drop auto-conversion of basic types
  • Capable of maintaining 1000+ connections
  • Multi-threaded and non-blocking by default
  • FSocketIONative class available for custom low level C++ support
  • CoreUtility module for string serialization and lambda based multi-threading
  • Open source

Code Modules: CoreUtility - Runtime, SIOJson - Runtime, SocketIOClient - Runtime, SIOJEditorPlugin - Developer

Number of C++ Classes: 17

Network Replicated: No

Supported Development Platforms: Win64, Win32, Linux, MacOS

Supported Target Build Platforms: Win64, Win32, Linux, MacOS, Android

Documentation: https://github.com/getnamo/socketio-client-ue4

Example Project: https://github.com/getnamo/socketio-client-ue4-example

Important/Additional Notes: Plugin and all its dependencies are available under MIT license. Contains socket.io-client-cpp library. Contains VARest fork for part of JSON Blueprint support.