[Nel] TCP vs. UDP
Zane
zane@supernova.org
Fri, 6 Jul 2001 11:59:26 -0700
----- Original Message -----
From: "Vincent Archer" <archer@frmug.org>
Sent: Friday, July 06, 2001 4:57 AM
> That's priority, and bandwidth management. Not really TCP-vs-UDP relevant.
Yes, but what I'm saying is knowing that is a feature of the network object
I was discussing further into the message.
> > 2) Know what data can be overwritten by new data if we recieve a large
> > chunk of data
>
> The latter requires you to look at the semantics of the data, not just the
> syntax. You have to posit specific types of data, and, for example, you
> don't have to retransmit data type X about object A if it has been already
> sent out, but you have to retransmit data type Y about the same object A.
I don't mean to be confrontational but did you even read the rest of my
message? With the network object I was discussing you pass data to be sent
to the client with Priority and data class. The user of the object sets up
the classes in a manner such that the network object is aware of the classes
(in this case a simple enum would be enough). Here's an example:
You want to pass property X of object A to the client. You don't care if it
gets there or not. You then pass the data to the network object with a low
priority and a class corresponding to the type of data property X is.
You want to pass property Y of object A to the client and you need to ensure
that it gets there. You then pass the data to the network object with a
high priority (and no class).
> This quickly require you to tie the protocol to the exact game being made.
> A current 3D coordinate/movement vector does not require retransmission
> (or, at least, not the retransmission of the same data; you may send back
> a more up-to-date version), but it automatically implies your game has
> moving 3D objects.
The network object I described doesn't need to know anything other than data
class and priority. Both of those items are determined by the engine. The
only special knowledge the network object needs is the list of data classes.
Please re-read my e-mail.
In case the original wasn't clear enough the object itself decides which
protocol to use based on priority. High priority data would use TCP and low
would use UDP with of course an additional header in the packet.
-E.J. Wilburn
zane@supernova.org