Hi All,
I'm trying to write a multi threaded TPC server. I have used xmlrpc
before for many purposes, but in this case this would not be efficient:
- I have to send larger amounts of data, the overhead of converting to
XML and parsing XML back would be too much pain
- I have no clue how to do keep-alive with simplexmlrpcserver and it is
slow to open a new connection for each RPC
- I would like to do session management (authentication, then store
session info on server site) which is also hard with xmlrpc.
I have looked at various solutions including:
- PyOrbit - too heavy weight
- Pyro - uses pickle, I do not trust it
BTW I do not care about the clients - they must trust the server side.
In contrast, the server should not receive anything from the clients
that is dangerous. I would like to use something that is fast, and can
only transfer data, not code. For this reason I think I cannot use the
marshal module because it is able to marshal code objects. I think I'm
going to implement my own "pickler" over xdrlib, that will only
pack/unpack data, NOT code. (It would also have the advantage that
others could write clients in different languages.)
Before I start re-inventing the wheel:
- Is there another (already existing) higher level framework that I can
try? It should be safe and fast, that is the only restriction.
- Do you think that it is a good idea to use xdrlib? I haven't seen
projects using it directly. For me it is like the rotor module was - it
was there but almost nobody used it. There might be a better lower level
library which I don't know of.
Thank you,
Laszlo
--
http://mail.python.org/mailman/listinfo/python-list