[Plugin] Socket.io Client

I’m having a similar crash as SteffanN, but only in packaged builds. I’ve experienced crashes in non-packaged builds if I fail to connect. I have tried in a blank project with variable success. The frustrating thing is that is seems really inconsistent. Sometimes ti connects, sometimes it crashes. Mostly crashing these days.

Here’s an actor crashing after 5 seconds.
It does seem more stable if I connect with the PC using auto-connect or in the construction script. But that’s not a guarantee. The logs are pretty unhelpful as they simply end before the crash.

Got an example minimal project to replicate the crash?

I’ve been able to replicate hangs from not using auto-connect, but haven’t found a way to crash due to socket.io. What’s the server you’re connecting to? does it have socket.io v1.4 or newer?

Great Plugin.

Just upgraded to UE 4.15(Github Version) but the Plugin no longer works, the editor tries to compile when i start my project but it fails.

thats the error in the log

edit:

fixed it by adding
include "EdGraphUtilities.h

in the “SIOJ_BreakJson.cpp” file

Excellent, kindly make a pull request in github with the fix :slight_smile:

Just made a pull request, first time ever, i hope i did it right :slight_smile:

The problem with editor freezing, if the server goes down during session still persist, though now it only happens when you stop play/simulation. Are there, maybe any way to check server availability and disconnect after a certain number of attempts? I tried this: a50d47424375cc5478b06c4e2f6cbc71afe50fde.jpeg

but to no avail

Also, is there any way to check connection status? Especially good, if you could do it through blueprints, but ++ approach is ok. As far as I learned, issue with editor freeze goes even further. If you try to disconnect while server is sending/waiting to send you smth, it freezes too, but then, strange things happens. Server getting the dc message, but then socket reconnects again, all with editor frozen on client side. Moreover, if you try to connect to server, that ain’t there two times in a row, on second try editor freezes too.

All of the above is for 4.15

Hi @,

How is sunny Oxford?

Do you know if anyone’s been successful in creating an android build of this plugin? I’m trying to port my build to my shield tv device so I don’t have to lug my PC around. (I’m planning to possibly do a presentation at UELondon with it this month too.)

Cheers!

Dan

It looks good, merged.

There is a bIsConnected attached to the main component you can use. Still looking for some free time to fix the timeout connection issue. If you have C++ experience, consider contributing :slight_smile:

Actually sunny for once :stuck_out_tongue:

Regarding android build, I forward you to the issue on github related to it https://github.com//socketio-client-ue4/issues/21. As of right now there is no successful build for android, looking for contributors for that platform as I don’t personally use it with ue4 yet. If anyone has C++ and android experience, kindly try to build the libs!

Thanks for the reply @

I can see you’ve got some iOS bits in the GitHub. Does it work? I’m thinking of picking up an Apple TV. I really need to make a portable version of my project somehow.

Dan

Same situation as android, this is the issue tracking that platform: https://github.com//socketio-client-ue4/issues/19. What’s missing in both cases is to have the static libs for socket.io-cpp and boost built and correctly embedded in the project. It will require other contributors as I don’t work on these platforms myself. I hope any of you C++ experts with iOS and Android experience consider contributing :slight_smile:

I have a 4.14 project using the Socket IO plugin, trying to upgrade it to 4.15 for SLI support, was using the latest 4.14 release of Socket IO Unreal plugin but have now switched to the master for the 4.15 fix, however when i try to open the project in 4.15 using the master branch version of the plugin i get the following error;

Plugin ‘SocketIOClient’ failed to load because module @SIOJson’ could not be found. Please ensure the plugin is properly installed, otherwise consider disabling the plugin for this project.

Have tried to rebuild the plugin using the package button in the plugins window but it errors out, even with a black project.

Anyone have any tips on how they got it to work or what i am doing wrong?

Thank in advance,
Nader

I havent provided 4.15 binary release yet for the plugin, but you do have full source so you can recompile it. What you need to do is add a C++ class to your project (https://docs.unrealengine.com/latest/INT/Programming/QuickStart/2/index.html) and recompile it. When you do this, the plugin will be compiled along with the project and it will launch.

Thank you so much for your reply, i will have a go at this today, its not something i have done before, but you make it sounds easy enough. :slight_smile:

Thanks,
Nader

Just released a new 4.15 binary build, but I’d recommend trying the build yourself once to see that it’s not that bad overall :slight_smile:

Update to 0.4.8
-Includes changes from 0.4.2 to 0.4.8
-UTF8 support
-4.15 compile fixes (thanks @KenshiHH)
-Session ID fixes
-Connection fixes

grab latest release at the usual https://github.com//socketio-client-ue4/releases

If you’ve had disconnection hangs, try the new version and let me know if it fixes things for you.

Thanks for the update, I’ll let you know if it hangs. I get a crash more often than not on my packaged build so I should be in a good position to let you know.

Cheers!

Still getting crash on exit for packaged games. I’ll try to put together something you can look at.

Thanks though!

Don’t know if this helps - I rigged it so I can toggle a connect/disconnect and it crashed (in editor)

Fatal error: [File:D:\Build++UE4+Release-4.15+Compile\Sync\Engine\Source\Runtime\Core\Private\GenericPlatform\GenericPlatformMemory.cpp] [Line: 160]
Ran out of memory allocating 4453159313439771895 bytes with alignment 0

KERNELBASE
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_SocketIOClient!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy() [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring:2196]
UE4Editor_SocketIOClient!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign() [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring:1155]
UE4Editor_SocketIOClient!sio::client_impl::connect()
UE4Editor_SocketIOClient!sio::client::connect()
UE4Editor_SocketIOClient!<lambda_528b49ce01ebae6e90043a74545a1705>::operator()() [c:\users\danrs\documents\unreal projects\damab_6_0\plugins\socketio-client-ue4\source\socketioclient\private\socketioclientcomponent.cpp:150]
UE4Editor_SocketIOClient!FSIOLambdaRunnable::Run() [c:\users\danrs\documents\unreal projects\damab_6_0\plugins\socketio-client-ue4\source\socketioclient\private\siolambdarunnable.cpp:47]

Hey !

Thank you very much for the plugin it is awesome, although I have started using it in 4.15.1 and I have some strange error while emiting event, my unreal crashes with fatal error and in logs I found this:

Do you have any idea what could cause it and how to fix it?

Crash points to https://github.com//socketio-client-ue4/blob/master/Source/SocketIOClient/Private/SIOMessageConvert.cpp#L83 which likely means JsonValue->Type dereferencing is failing on a null type pointer. What method are you using to generate the data you’re emitting? struct->json? or manual object building? Maybe a blueprint picture or two could help replicating this crash.

This should be helpful, looks like it’s related to an invalid string pointer or size causing an oversized allocation. Not quite sure yet when I can carve the time to finally fix the disconnect bug. Any possibility to rig up and share a minimal example project that replicates the problem easily?