Comments (2)
For SO_REUSEADDR
, simply add Socket->SetReuseAddr();
above line 390 in TcpSocketConnection.cpp. Looks like you always need it, so it's easier to just add one line than to expose it. As far as I know, it's a very rarely needed feature. I'd accept a pull request, if it's something you're going to expose and want to contribute.
As for the keep alive options, it seems UE4 doesn't set it in engine, so there's nothing to expose, unfortunately.
If you need it, I recommend looking at how FSocketBSD::SetReuseAddr
is implemented in Engine\Source\Runtime\Sockets\Private\BSDSockets\SocketsBSD.cpp
. You can set SO_KEEPALIVE
through setsockopt
just like they're setting a bunch of options, you'll just have to modify the engine.
That being said, if you don't want to modify the engine, you can always build a fake "keep alive" mechanism on top of the existing plugin. Just send a byte from the server once a minute and send back a response byte from the client. It's far from an elegant solution, but it'd do the job.
from ue4tcpsocketplugin.
Thanks for the response - much appreciated hearing your thoughts on this issue.
Actually, we DONT always need SO_REUSEADDR - sure, for games and so on, its nice to have, since it reduces re-connection lag - but for none-game style applications, its more favourable to be able to set this option according to design, rather than assumption. We are using TCP Socket Server in an industrial application with the UE, and would definitely need to turn this off/on according to app needs.
I will look at making a pull request, but I wanted to coordinate the feature idea with you first.
from ue4tcpsocketplugin.
Related Issues (20)
- UE4 Crash when executing the game. HOT 2
- Messages being joined HOT 2
- Failing to connect to server HOT 4
- Why inherit from actor? HOT 2
- Binaries folder consume lots of memory HOT 1
- Header or queries parameters HOT 1
- UE5.0 compatibility HOT 6
- Connecting with my custom TCP server HOT 1
- How to listen and receive data from server? HOT 2
- Need a release for 4.24 HOT 1
- ConnectionId has bug? HOT 3
- 5.2 HOT 1
- Received message data is not returned as complete HOT 2
- Connection problem
- Persistent connection through level HOT 4
- An explicit Category specifier is required HOT 1
- ck cashing HOT 2
- About TCP server api HOT 1
- Error When Using With HoloLens Project HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ue4tcpsocketplugin.