Sign in to follow this  
yogiwp

TCP-based High-level Library?

Recommended Posts

why do you want TCP? i would be very surprised to find a high level networking library that was'nt UDP based. in fact, any high level networking library worth its salt would have reliable packet sends, which is pretty much the only reason i could see you wanting to use TCP in the first place.

why dont you check out raknet.. it is a high level networking library which does offer security, encryption, lobbying services, auto patching, etc...

Share this post


Link to post
Share on other sites
Two reasons:
(1) Our game is turn-based. So you see, from our point-of-view UDP libraries are bloated because we don't need all that tech that makes efficient transport on UDP (i.e. we don't really need efficiency, we just want reliable transport).
(2) We want it to "just work" on any network setting (no NAT troubles or what have you). The fact that this requirement is very important makes UDP libraries (--which might have problems with NATs) even less interesting for us.

So basicly what we want are:
(1) reliable transport
(2) the high-level stuff
(3) "just work" on any setting

Yes I know RakNet (and TNL); they are great, in fact they both are my main candidates.
CMIIW, they both seems deal with NAT to some degree, but cannot be considered "just work".

Share this post


Link to post
Share on other sites
TCP "just works" through NAT just as much as UDP.

The only wrapper that will typically work better than UDP is to go through the system-configured web proxy if there is one, else go through port 80 using TCP. That will get you out of some firewalls that won't let UDP nor TCP out in general.

If your firewall/NAT lets TCP out, it likely lets UDP out as well. The reason UDP packages mention firewalling/NAT is that, with UDP, you have a good chance of getting INTO a firewall (i e, hosting behind a firewall) without port forwarding -- with TCP, there isn't even that option, you HAVE to use port forwarding. With UDP, port forwarding is the same as with TCP.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this