Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CF: Documentation - client/server protocol
- To: John Klar <jklar@mail.cybernex.net>
- Subject: Re: CF: Documentation - client/server protocol
- From: Kristofer Bosland <krisb@ring.org>
- Date: Tue, 6 May 1997 08:00:54 -0700 (PDT)
- cc: crossfire@ifi.uio.no
- In-Reply-To: <199705060318.DAA27831@inigo.cybernex.net>
- Resent-Date: Tue, 6 May 1997 11:14:57 -0500
- Resent-Date: Tue, 6 May 1997 11:15:45 -0500
- Resent-Date: Tue, 6 May 1997 11:17:39 -0500
- Resent-From: tanner@real-time.com
- Resent-Message-Id: <199705061614.LAA01485@wizard.real-time.com>
- Resent-To: netrek@real-time.com
- Resent-To: netrek@real-time.com
- Resent-To: netrek@real-time.com
- Sender: owner-crossfire@ifi.uio.no
When you say "binary" you should know that standard Tcl/Tk will
not handle "\0". I'd say that Tcl/Tk is your best bet for a portable
client.
-Kris
On Mon, 5 May 1997, John Klar wrote:
> >From the V-Desk of Isak Styf:
> > Chris Eleveld wrote:
> > >
> > > Is there any documentation on the network/client<->server protocol
> > > and if not would it be worthwhile for me to start hashing out documentation
> > > on it?
> >
> > At least in the client package there is a file called Protocol that
> > outlines the C/S Protocol for Crossfire.
> >
> > However, it can be made better
>
> I've just reviewed the new Protocol file and I really must agree
> that it can and should be made more client friendly
>
> Since the formats are a known quantity (more or less), eutl's strong
> typing is overkill, so we've gained some protocol efficiencies but
> we can do better. (As a small warning: I haven't yet read the actual
> code and am basing most of my remarks on what's written in the
> "Protocol" file.)
>
> - Replace the text commands with a binary token
> If you're worried enough to cut the packet length word down to 2
> bytes from 4, doesn't it make sense to cut down the 7 byte command
> string to 1 byte? Most languages I know of support some form of
> a CASE/SWITCH or ON intvar GOSUB type flow control.
>
> - PLEASE convert all numerical data passed as text BACK to binary
> That short time parsing text strings adds up over the hundreds of
> updates per quantum handled by the client
>
> - Optional, but would be really nice: Prepend text with a length
> I suppose we could ignore that in a few special cases:
> - fixed length field, client knows length
> - string last argument in packet
>
> John "gah the Mage" soon "gah the Dustpile"
> [to unsubscribe etc., send mail to crossfire-request@ifi.uio.no]
>
[to unsubscribe etc., send mail to crossfire-request@ifi.uio.no]
Follow-Ups:
References: