[ENet-discuss] NAT and Enet

Lee Salzman lsalzman1 at cox.net
Tue Jun 7 18:04:14 PDT 2005


1. I actually have no idea how ENet compares with TCP for
performance of reliable data. However, I would say that if
you are in a situation where that matters, you are better off
using TCP. I'm not saying it's going to be drastically slower.
It might even be close, though I've never measured at all.
ENet is designed to minimize round-trip times, not really for
maximizing bandwidth.

Just know when to use ENet for what it's good at, and that's
for sending streams of mixed reliable/unreliable data, where the
bulk of your data is unreliable.

2. Arch enemies? Nah. If someone either wants to suggest how
to make ENet work with NATs, or even supply patches to do so,
I'd gladly either integrate them or write something up to do it.

Lee

Charlie Sibbach wrote:

>Hey all,
>
>I've been playing around with Enet for a while now, wrapping it in
>some C++ classes, mainly for implementation abstraction. I'm going to
>(most likely) use it for the backbone of the networking infrastructure
>for an MMORPG project. Saves a lot of work coding my own reliable UDP
>packet system, that's for sure.
>
>I just have a few questions I want to put out to the pros and those
>with experience:
>1. Are Reliable-mode packets faster than TCP on average? I am using a
>mix of both reliable and unreliable packets, but knowing how much I'm
>actually saving can help adjust the balance. I can't test this in
>real-world conditions yet so a test would be pretty meaningless.
>
>2. Enet and NAT: Arch enemies? The central server for the game is a
>distributed system designed to use multiple cheap CPUs instead of a
>really fast one. The plan is to get a single static IP for cost
>considerations, and use a generic NAT router like you get for your
>home network. This would have port forwarding of some specified login
>port to the "login server" which would handle new client requests. The
>login server would then pass the connection to a specialized zone
>server (using the inside-NAT addresses), by passing the incoming
>client's IP address to the zone server, which will make an
>outward-bound connection to the client. NAT could screw this up since
>it usually works based on port numbers; does anybody have any
>experience with this? Any advice? Should we just plan on needing
>multiple static IPs, or are there some workarounds?
>
>Thanks alot for any help.
>  
>



More information about the ENet-discuss mailing list