From: Navdeep B. <pop...@jp...> - 2001-01-20 15:46:40
|
Oops, forgot to include the client name: CLIENT stamp client versions CLIENT <549...@mi...> "Whatever 1.6.2" 1.1/1.0 ------------- > From: "Navdeep Bains" <pop...@jp...> > To: dic...@di... > Subject: [dict-beta] Protocol version > Date: Sat, 20 Jan 2001 14:34:26 -0800 > X-Mailer: Mail Beacon 1.0 > > If we're going to update the protocol, we'll eventually change something that makes complete backwards compatibility impossible, so there will have to be some kind of version control. New clients/servers will have to reveal what version of DICT they are running. > > Here's dirty way of doing it... > > New clients send a modified CLIENT command: > > Clients sign in using the server's time stamp(do all DICT servers send a time stamp?): > > CLIENT <549...@mi...> 1.1/1.0 > > 1.1 and 1.0 are the protocol versions the client supports, in response to the CLIENT command, a new server would send a special response code: > > xxx 1.1 > > The server and client have now agreed to use v1.1. > Of course, if the server doesn't support any of the listed versions, it would return an error: > > xxx None of the listed versions are supported. > > If the client doesn't send a CLIENT command, or sends the normal kind, the server downgrades to DICT 1.0 and sends a 250 response code. This way, the server & client both know exactly what's supported, and it's completely backwards compatible. Old servers will simply ignore the modified CLIENT command and return a 250 response code. If the server returns a 250 response code, the client knows the server only supports DICT 1.0. > > This is all off the top of my head, so feel free to contribute & criticize, all of you have more experience dealing with DICT servers than I do. > |