[Tutor] More network server questions
Ewald Ertl
ewald.ertl at hartter.com
Tue Jun 20 12:30:21 CEST 2006
Hello,
after looking into the docs of ServerSocket,
the class TCPServer notes the following class attributes:
Class variables that may be overridden by derived classes or
instances:
- address_family
- socket_type
- request_queue_size (only for stream sockets)
- allow_reuse_address
so, I think you've to set the allow_reuse_address for the TCPServer and
not for the RequestHandler, because this class is newly instantiated for
each request of your server.
The socket itself is bound by the TCPServer.
HTH Ewald
Tino Dai wrote:
> Hi Everybody,
>
> I took Kent's advice, and used SocketServer instead of rolling my
> own sockets. It works pretty good except for the fact that when I exit
> and restart the program, I get a Address in use. And I remember that
> Danny told me about allow_reuse_address. So, that's where I got stuck. I
> put in that statement, but no change. What am I missing?
>
> class FtpServer ( SocketServer.StreamRequestHandler):
> def handle(self):
> self.allow_reuse_address = 1
> self.filename=self.rfile.readline(512)
> self.filename=string.strip (self.filename)
> while (self.filename != 'exit'):
> secQueue.put(self.filename)
> Listener.sema.release()
> self.filename=self.rfile.readline (512)
> self.filename=string.strip(self.filename)
>
> class Listener( threading.Thread ):
> sema = threading.Semaphore()
> def __init__(self):
> self.port=4242
> self.ipAddr='140.147.241.58'
> self.wholeFilenameList=[]
> threading.Thread.__init__(self)
> #print "Done with init"
>
> def run(self):
> server=SocketServer.TCPServer(('',self.port), FtpServer)
> print "The port is: ", self.port
>
>
> Thanks,
> Tino
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
--
Ing. Ewald Ertl HartterGruppe Phone : +43-3352-33085-558
trinomic Projektmanagement & Informationstechnik GmbH Fax : +43-3352-33085-600
Wiener Straße 41 mailto:ewald.ertl at trinomic.com
A-7400 Oberwart http://www.trinomic.com mailto:ewald.ertl at hartter.com
More information about the Tutor
mailing list