Socket to me

Mark Carter cartermark46 at ukmail.com
Sat May 31 08:21:44 EDT 2003


I'm trying to get my head around sockets/distributed computing - with
some,
albeit limited, 
success. There was a thread on this board, dating from about beginning
of April, which mentioned the following python-friendly technologies:

Yami - http://www.maciejsobczak.com/prog/yami/
Spread - http://www.python.org/other/spread/
OSE - http://ose.sourceforge.net
Pyro - http://pyro.sourceforge.net

I have also heard about Twisted.

More are mentioned at Google:
http://directory.google.com/Top/Computers/Programming/Languages/Python/Modules/Distributed_Computing/


I'm a bit confused as to what they're all trying to achieve. I suspect
that there's a fair bit of overlap. 

Would I be right in saying that 99
times out of 100, these things are using sockets in order to
communicate across machines?

Am I right in thinking that the major considerations in writing
servers
is how one computer "knows" about another computer, and how to spawn
threads so that multiple requests can be handled?

And would it be right to say that the purpose of "middleware" software
is to handle all these details?

And once you know how to link in with this software, it basically
removes the need for you to think about how all this glueing-together
is supposed work, and lets you concentrate on coding what it actually
is
that you're trying to achieve?

Would it also be fair to say that some projects seem to "kitchen-sink"
the services they provide? I've noticed Twisted, for example, shows
one
how to construct a little echo server and client. But it seems to do a
whole bunch of other stuff, whose purpose I have yet to understand.
Don't
get me wrong - I'm impressed by the cleverness of the guys that wrote
Twisted.

And following on from that, do I detect a certain element of "not
invented here"? Perhaps a micro, rather than a monolithic approach
to distributed computing would have been better - giving all of the 
benefits of ... well, I'm sure we all know the drill about modular
design.
What we want is a layered cake, not alphabet soup.


Has anyone implemented a telnet daemon in python?




More information about the Python-list mailing list