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!
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 !
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.
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)
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!
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!
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
Unfortunately i’d like to build my future app for android, but i can think about this problem later
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!
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
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.
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.
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)
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!