Socket.IO Client

Average Rating:  
X Rating Failed

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

  • Supported Platforms
  • Supported Engine Versions
    4.19

Description


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
  • Free and 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

Supported Target Build Platforms: Win64, Win32, Linux

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.

Comments

!

Previous Next
  • Edit
  • Preview
  • Help
Enter
Login to comment
X Report this Comment
Report
X Attention


close
X Edit this Comment
  • Edit
  • Preview
  • Help
Update
X Remove this Comment

Are you sure you want to remove this comment?

Remove
X Attention