TCP-based High-level Library?

Started by
2 comments, last by hplus0603 19 years, 5 months ago
Anyone knows of a high-level game networking library based on TCP? All I found are using UDP. High-level = login, typical client/server game tasks, security.
Advertisement
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...
FTA, my 2D futuristic action MMORPG
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".
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.
enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement