[ENet-discuss] Death by a thousand cuts

Lee Salzman lsalzman1 at cox.net
Tue Mar 28 07:52:47 PST 2006


Enough of the packet structure has changed that you can't even connect 
to the old protocol and find out the old protocol is being used, not 
without using the old protocol to begin with. So, I'm not worrying about 
backwards compatability.

That might make some users cringe, but I'm not obviating 1.0 by making 
these improvements. What's in 1.0 is perfectly good, just that it gets 
bogged down if you're sending bazillions of small packets. Only upgrade 
when it is convenient or necessary for you to do so.

It's interesting to note, though, that in Sauerbraten we have always 
used a custom UDP protocol for our master server, so that clients 
already were advertised which protocol version the server was using 
before they even tried to connect. Well, that and we always made so many 
changes to the game, that even if the networking protocol didn't change, 
  different Sauerbraten releases were mostly incompatible.

Lee

Bjørn Lindeijer wrote:
>>So I went through ENet and managed to shave off a minimum of 12 bytes
>>from the protocol headers. In the context of the above example, that
>>saves the client from sending an extra 1.8 KB/s and the server from
>>sending 10.8 KB/s, minimum. It required some trickery to fit 32 bit time
>>stamps and sequence numbers into 16 bits, but it seemed to work out
>>rather well.
>>
>>So, FYI: there may be a 1.1 coming out soon.
> 
> 
> It is great to hear that you're working on optimizing this library.
> One concern though is compatibility, about which you didn't mention
> anything. Am I right to assume that for example an ENet 1.1 using
> server will not be able to communicate with an ENet 1.0 using client?
> If this is true, could there be a custom connection failed error so
> that is it easy for the application to feedback the problem to the
> user?
> 
> Regards,
> Bjørn
> 



More information about the ENet-discuss mailing list