Socketer - Free TCP socket blueprint plugin!

**Now supports Unreal Engine 4.25!

UPDATE 3: An Unreal Engine 4.21 update has been released! Find it’s source code, installation instructions, and built windows binaries here: https://github.com/How2Compute/Socke…tag/b0.3-UE421!

Unreal Engine 4.16 made some changes in how plugins work, making Socketer unusable in this latest version. Is there any interest in an update? Vote here: Would you be interested in a 4.16 ver... - Straw Poll

UPDATE 2: An Unreal Engine 4.17 version has been released! Find it’s source code & built windows version here: **https://github.com/How2Compute/Socke…g/v0.3-RELEASE

Hey everyone,

I have been working on some TCP sockets and ue4 recently and I thought, hey, why not share some work?
I present to you, Socketer, a TCP socket blueprint library!

Here is a short overview of the plugins functionality: Socketer! - YouTube.
Download it right from github: Releases · How2Compute/Socketer · GitHub

Currently only Supports windows & is in beta. Please open an issue on the github page if you find any issues/want to submit any feature requests!

Nodes:


(and close/disconnect but I forgot to add that one)

Have a great day!

  • HowToCompute

I have also just released a gist with a server I wrote for this. It’s still pretty buggy, but if you want something to take a look at in c (but should also work with c++) feel free to view Server.c · GitHub !

Hay!

I really like what You did there!
Created a c# TCP server to cummunicate with this. It has ability to send structs to UE4 :slight_smile:
https://bitbucket.org/Sickled/ue4-tcp-server

I’ll make a pull request when i’ll figure out how to receive any(identical to server struct) strcture from server, cuz now i had to hardcode struct and receive it, cant pass struct from BP’s and fill it like what i want to do.

Wow! Thanks for sharing your work @BananaScheriff :slight_smile: Glad you could use this asset to your advantage and awesome server code!

I’d also like to announce that the asset has (finally) switched to the MIT license! Beta 0.3 has been released under this new license: Release Beta 0.3 · How2Compute/Socketer · GitHub

Unreal Engine 4.16 made some changes in how plugins work, making Socketer unusable in this latest version. Is there any interest in an update? Vote here: Would you be interested in a 4.16 ver... - Straw Poll

Hi! A very useful plugin. I hope you will support it. I corrected one line in Socketer.Build.cs (public Socketer (ReadOnlyTargetRules Target): base (Target)), the assembly was successful (v 4.18.0 (promoted branch)), but I did not have time to test the work)

Hello Everyone,

I’ve been quite bussy lately, mainly with other (upcoming) marketplace plugins, but finally managed to find some time to update Socketer! I have created a 0.3 version, and have built an Engine version of this plugin (so you don’t need to have a c++ project to get Socketer to work) that can be downloaded here: https://github.com/How2Compute/Socke…g/v0.3-RELEASE. Hope you all enjoy!

Hey!

Thanks so much for this! Couldn’t get Rama’s one working in 4.20.1 but I got yours on the go! I’m probably going to look into adapting it so I can send different types of data over, but thanks again man!

  • Cleava

After 3 evenings of hard searches and tests of ue sockets libraries this one is the first one which managed to work well with my primitive cpp server (the one from msdn example). Thanks :slight_smile:
Unfortunately i’d like to build my future app for android, but i can think about this problem later :slight_smile:

We just published the (long overdue) update for Unreal Engine 4.21!

We’ve also further commented the functions to help with the Blueprint editor’s documentation, as well as updated the copyright/license notices in the file. The README has also been overhauled with installation instructions, and a warning. Before using Socketer, please read this warning (also listed below):

Socketer is an older project, and was designed as a one-to-one implementation of the FSocket interface (or atleast, the relevant & TCP parts of it). This means that you should be aware of how sockets work, and be careful to close your sockets, and check if there is any data available before trying to read it. Not taking these precautions, can lead to hangs, crashes, and other unexpected/undeired behavior in your game. With that out of the way - you are free to open up an issue or Pull Request with any improvement/issues!

We hope this update can help someone, and please don’t hesitate to reply to this thread and/or create a GitHub Issue if you’re facing any issues using it!

Want to download the latest release (for Unreal Engine 4.21)? Head over to Release Beta 0.3 for UE4.21 · How2Compute/Socketer · GitHub

NOTE: Though we cannot give any guarantees, we will try to update Socketer more quickly and more frequently in the future.

This is a UE4 TCP Plugin too: UE4TCP (TCP Feature For UE4) in Code Plugins - UE Marketplace

And
UDP Plugin: UE4UDP (UDP Feature For UE4) in Code Plugins - UE Marketplace

HTTP Plugin: UE4Http(Http Request for UE4) in Code Plugins - UE Marketplace

We have updated Socketer with Unreal Engine 4.22 support!

Find out more about the Unreal Engine 4.22 version on the GitHub releases page here: Release Beta 0.3 for UE4.22 · How2Compute/Socketer · GitHub

Additionally, we recently launched NetShield! Need a more high-level approach to sockets, secured sockets (SSL/TLS), hashing, encryption? Then please consider checking it out here: NetShield - SSL/TLS, TCP & More! in Code Plugins - UE Marketplace

I get a compile error on 4.22.3.

Sorry to hear you’re facing a compilation issue. Would you be able to tell me if you’re using a launcher build or a source build of the engine? In addition to that: would you happen to be able to send me the output log you get when compiling inside visual studio using a site like https://hastebin.com/? This’ll allow me to analyze what went wrong, and assuming I can reproduce the issue, create a patch for the plugin :slight_smile:

A launcher build. I don’t have an output log. :frowning:

Hi HowToCompute, I’ve been using your plugin for a few weeks now and had no issues with it in 4.23 until I actually tried to build the project and it won’t build because of this error:

Source/Socketer/Private/SocketerBPLibrary.cpp(30): warning C4996: ‘ISocketSubsystem::CreateInternetAddr’: To support different address sizes, use CreateInternetAddr with no arguments and call SetIp/SetRawIp and SetPort on the returned object Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.

I guess I’d like to know if it’s worth continuing in 4.23 if you’re going to update for 4.23, or I should revert back to 4.22?

Hi, I’m working on an archviz project that will requiere control over the app using a tablet, I tried pixel streaming but I’m getting a mirror of the app, I want something like the mclaren configurator, where the host control the app with a companion app.

[McLaren Automotive: The Design Process in UE4 | Project Highlight | Unreal Engine - YouTube

https://i.imgur.com/LJN23VF.jpg](McLaren Automotive: The Design Process in UE4 | Project Highlight | Unreal Engine - YouTube)

UNREAL ENGINE 4.25 SUPPORT

Hello everyone,

I’m afraid that I have been incredibly busy over the last few months, but I’ve finally found some time to update Socketer to Unreal Engine 4.25! There’s also various other changes, so be sure to read until the end!

What Changed?

  • Socketer now supports hostname resolution. This means that you can use either an IP address (such as 127.0.0.1), or a hostname (such as localhost) to connect to your server. This requires some changes as outlined in the Upgrading section.
  • Socketer is no longer marked as a beta plugin!
  • There are various internal changes to Socketer that allow for easier interoperability with other plugins, as well as a more friendly user experience. Please see the release notes for a full list of changes (this should also fix the warnings you were facing, ScitechDev).

Upgrading
To install this new version of Socketer, please head to the releases page and download the latest release: https://github.com/How2Compute/Socke…tag/v0.4-UE425. See the READMEfile for additional instructions. After upgrading, open up your blueprints and copy the text from the IP pin to the Host pin, right click on the IP pin, and press the Reset to Default Value button: this will allow your Blueprints to compile against this new version. See also the screenshot below:

Have any questions?
Please don’t hesitate to send a message in this thread with any questions you may have. I’m afraid that I cannot promise that I will be able to get to the messages, but please don’t let that discourage you from posting them in here. If you want to help out, then please feel free to help answer other peoples’ questions, or if you’d like to help contribute to the code, submit a Pull Request on GitHub.

  • HowToCompute

What are the nodes underlined in yellow? Do you have an example blueprint I can use? I’ve tried to build this one based off you video demo, but cant ID these nodes ( underlined in yellow)

Hi Bejopi,

Thank you for your question. It looks like the underlined nodes are variables (of the type: USocket for versions before 0.4 and USocketerSocket for version 0.4 and later). You should be able to create a variable of this type by right-clicking on the Return Value of the Connect to a TCP server node, or by creating a new variable and settings its type to Socketer Socket in the sidebar. If that name doesn’t yield any results, try searching for Socket and you should be able to find it.

I’m afraid that there isn’t currently an example project that I’m aware of, and I’m a bit too busy to create one over the next few weeks, but I’ll keep it in mind and try to provide one at some point in the future.

I hope this helps, and the best of luck developing your game/project!

  • HowToCompute