[standards-jig] JNG Ramblings.
richard at dobson-i.net
Fri Aug 9 12:06:24 UTC 2002
Having a binary wire protocol is much better, it might inconvenience some
people but it will be great for end users and programmers. If you are
needing to telnet in to send packets then a simple command line debug tool
can be created in a matter of hours (if not less) to solve that problem, if
that is the only reason against a binary wire protocol then lets go for it.
I have a client and server that talks adapted jabber protocols on a basic
binary wire protocol (basic packet length specification), and I find it is
much easier to program and transport the packets, it also talks normal
jabber streams and that needs much more logic code to process the jabber
streams than the wire protocol does, which when under load will be slower
than a binary protocol. Also if we want to transport binary data (images and
such) in-band then doing it using a binary protocol like this will be much
more efficient and easier as well as saving lots of bandwidth at server and
client ends (as you dont have to base64 encode), this saves about 33% of the
bandwidth used and will also allow for files to be more quickly transferred
to people on modems or other bandwidth constrained connections.
----- Original Message -----
>From: "Mike Lin" <mikelin at MIT.EDU>
To: <standards-jig at jabber.org>
Sent: Friday, August 09, 2002 3:35 AM
Subject: Re: [standards-jig] JNG Ramblings.
> > I second Matthias Wimmer's -1 to binary wire protocol. I know it would
> > make things increadibly easy for the server and programs, but difficult
> > for developers and admins.
> I now have something that for the past year has been severely lacking in
> all these discussions: code.
> The Jabber XML Streams implementation I did in OCaml this summer is
> about 600 lines of code in all, not counting the special XML parser I
> had to write to make it work.
> I wrote something to read my binary wire protocol and envelope format
> yesterday afternoon. It's about 250 lines of code, and I'm a lot more
> confident that it works right.
> As I've been saying, I'm working hard to find the right blend so that we
> get the benefits of the binary framing without sacrificing too much of
> the protocol's elegance. The protocol even in raw form is still
> perfectly readable in ethereal (there are just a few extra bytes spread
> here and there), which I think matters much more than telnet-and-type.
> Anyway, this is a question over which reasonable people can disagree. I
> have thought for a long time, and I've become more convinced by
> implementing it, that by using a binary protocol for framing we can get
> enormous benefits for acceptable cost.
> Standards-JIG mailing list
> Standards-JIG at jabber.org
More information about the Standards