Little update on my problem with UESocket.io not connecting to my server. I’m not really sure how I’ve got it set up as i’m basically fudging my server code together, but it seems that the way I was hosting my webpage may have something to do with it. I started getting connections to UE4 when I set up second socket.io ‘instance’ in my server code, listening on another port.
My original setup is a node server which acts as a CMS reading and writing to an SQLite database and serving up a webpage. I bolted on lots of other stuff like OSC and stuff - and originally I was running with XMLHTTPrequests rather than Socket.io - then I switched to socket.io for communication between the server and the served webpage-interface but when I tried to connect from UE4 through the same address and port I got nothing.
Don’t know what I did, and I don’t’ really like running 2 ports (it seems clunky) but it’s working now.
Ports are a way to multiplex IP addresses so that different applications can listen on the same IP address/protocol pair. Unless an application defines its own higher-level protocol, there is no way to multiplex a port. If two connections using the same protocol have identical source and destination IPs and identical source and destination ports, they must be the same connection.
There are ways to forward ports however so that e.g. port 80 requests will happen on 3000 transparently to the user, which should work for socket.io traffic as well.
If this is related to the socket.io-client plugin, PM me your logs under saved related to the crash. They usually have more information. Also have you tried a clean project? What platform are you using this on?
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?
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:
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.
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.)
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
Actually sunny for once
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!
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.
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
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?
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.
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.
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