[Tutor] Data exchange formats...
Alan Gauld
alan.gauld at btinternet.com
Mon Jun 21 01:47:10 CEST 2010
"Modulok" <modulok at gmail.com> wrote
> What's the best format to send data across the wire between
> processes?
That depends on what you measure as 'best' - data volume, speed of
transmission, security, data complexity, flexibility, ease of decoding
etc etc.
> a server via a TCP socket. Things like 'count = 10, name="foo"' and
> so
> forth. Basic values.
You could use the struct module to pack them as binary then unpack
at the far end. Its space efficient and relatively easy to pack/unpack
and marginally more secure than plain text. But only marginally!
> I would use something like the 'pickle' module to
> pack them up send as encoded strings, which would then be loaded on
> the server. It'd be nice, but the server has no authentication.
> Therefore:
>
> "Warning The pickle module is not intended to be secure against
> erroneous or maliciously constructed data. Never unpickle data
> received from an untrusted or unauthenticated source."
That might not be a problem if security is not an issue.
> Currently I'm sending strings and using regular expressions on the
> server to pluck out the needed data, but thought there must be
> something cleaner, nicer and better. Ideas?
XML? There are a variety of parsers out there.
http form submission? Again there are numerous CGI solutions.
You could even use https for security...
Or you can construct a plain text string - comma separated
using the csv module, and then encryupt using one of the
crypto algorithms available.
It all depends on what you want to do.
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
More information about the Tutor
mailing list