[OT] Handling multiple UDP clients through NAT

Steve smorrey at gmail.com
Wed Feb 7 14:02:53 MST 2007

Ok fine, it's not fedex, it's the pony express :D
And the semi-realtime aspect as well as the ability to push MOST of
the work onto the client, is the reason for the design decisions.

The fact that the data arrives, arrives out of order, or arrives not
at all is irrelevant. The design copes with that by sending complete
present state information about itself, rather than informational
deltas( we send x=5 rather than (x+=2)).  And then we interpolate
between last packet and current packet, on the client.  We timestamp
all information and discard packets that arrive out of order by
looking at it's timestamp first, if it's older than the last packet,
it's just tossed anyways.

Hopefully that makes sense, I can't possibly be the first person to go
this route, but I'm not seeing anyone doing anything similar or who
has done anything similar, so that kind of worries me.


On 2/7/07, Bryan Sant <bryan.sant at gmail.com> wrote:
> On 2/7/07, Steve <smorrey at gmail.com> wrote:
> > The concept is pretty simple really.  I'm looking at UDP not as a
> > telephone line (like TCP), but more like FedEx, we can send and
> > recieve packages of updates, but we do so sparingly.
> I'd say it's more like FedEx, but wild Indians can shoot your FedEx
> driver at anytime and you'd never know.  Sometimes the packages get
> delivered, sometimes they don't.  And if you get too many FedEx trucks
> coming at the same time, you can't tell them to back off, you just
> have to throw the packages away and pretend they were never sent ;-).
> Anyway, I'll be quite now.  You know your apps behavior and I don't.
> I think your using UDP will be fine in practice (but it's potentially
> scary).
> Personally I would never use UDP unless I can prove that TCP overhead
> is a bottleneck (very, very, very, unlikely) or my app needs a
> real-time protocol (as in LAN games).
> -Bryan
> /*
> PLUG: http://plug.org, #utah on irc.freenode.net
> Unsubscribe: http://plug.org/mailman/options/plug
> Don't fear the penguin.
> */

More information about the PLUG mailing list