common approach in socket programming
Uwe Mayer
merkosh at hadiko.de
Fri Jun 7 05:18:34 EDT 2002
hi,
i want to use the module SocketServer to create a tcp server. with it i
want to work on arbitrary packet lengths. f.e. from the contents of each
packet an md5 hash is created and send back. so it makes a difference
weather i hash each single packet or collect packages and then create
the hash.
SocketServer offers two possibilities to deal with incomming
connections. either use self.request which is a socket object, or use
the file wrapper.
now my problem is how to know that
a) a connection is still open
i couldn't find a opened() or isopen() function or a similar attribute
in the documentation. not for the socket object. for the file object
there should be the open attribute.
b) how do i know the size of each packet?
using the file wrapper the method calls block until the buffer has been
filled. i could set the maximum buffer size to 1 byte, but thats somehow
odd to read data bytewise - and: how do i know i haven't crossed packet
boundaries to a newly arrived packet while i was busy receiving single
bytes from the tcp/ip layer?
what is the usual solution to something like that?
i don't really want to use own header information to determine packet
lengths nor would udp packeges suffice because transmission isn't
certified.
Any ideas?
Thanks in advance
Uwe
More information about the Python-list
mailing list