I am trying to get data out of UE4 and send it across a local network to another application that I have running on a server. To aid with this, I wrote a C++/C# networking library that I have been using successfully in other applications that I wrote. The server-side app is written in C#, and client side apps can be either C++ or C#. I am using Windows 7 on both client and server.
To test the integration into UE4, I modified the landscapes demo to send out data using this networking library every time the ‘Event Tick’ occurs. Although the expected data shows up on the server side application, data is received in bursts only. Bursts happen about once per second, and in the remaining time no data is being received. I need this data stream to be continuous, given what I am working on (hooking up UE4 / Oculus Rift to a machine that can spin people around in multiple axes)
To rule out that the burst-transmission behavior is related to the C++ library code, I wrote a small standalone C++ test app that sends out data as fast as possible. When I run this test app, data is being received at the server-side continuously, as you would expect. Note that I am setting the TCP_NODELAY socket option on client side, to disable the Nagle algorithm.
Based on this behavior, I wonder if UE4 is ‘doing something under the hood’ that affects how sockets are being handled / how data is being sent. But I am clueless as to what this could be. Is there anything that I am missing here? Would it make more sense to use FTcpSocketBuilder in the client side code (I just found out about that a few minutes ago, but thought I’d ask here before spending the time to rewrite part of the library I use)?
Thanks for reading, and thanks in advance for any help/advise!