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. Regards, On 2/7/07, Bryan Sant <[EMAIL PROTECTED]> wrote:
On 2/7/07, Steve <[EMAIL PROTECTED]> 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. */
/* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
