mulithreaded server

asit lipun4u at gmail.com
Tue Mar 11 15:17:14 EDT 2008


On Mar 11, 9:10 pm, Jean-Paul Calderone <exar... at divmod.com> wrote:
> On Tue, 11 Mar 2008 08:24:54 -0700 (PDT), asit <lipu... at gmail.com> wrote:
> >import socket
> >import sys
> >import thread
>
> >p=1
> >PORT=11000
> >BUFSIZE=1024
>
> >def getData(cSocket):
> >    global stdoutlock,cSocketlock
> >    while True:
> >        cSocketlock.acquire()
> >        data=cSocket.recv(BUFSIZE)
> >        if data=='q':
> >            data='client exited'
> >            cSocket.close()
> >            p=0
> >            cSocketlock.release()
> >        stdoutlock.acquire()
> >        stdout.write(data)
> >        stdoutlock.release()
>
> >def sendData(cSocket):
> >    global stdoutlock,cSocketlock
> >    while True:
> >        stdoutlock.acquire()
> >        data=raw_input('>>')
> >        cSocketlock.acquire_lock()
> >        if data=='q':
> >            stdout.write('server exited')
> >            stdout.release()
> >            p=0
> >            cSocket.close()
> >        sSocket.send(data)
> >        sSocketlock.release()
>
> Could it be because `sSocketlock´ here
>
>
>
> >stdout=sys.stdout
> >host=''
> >sSocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
> >sSocket.bind((host,PORT,))
> >sSocket.listen(1)
> >#sSocketlock=thread.allocate_lock()
>
> is never bound since the line above here is commented out?
>
> >stdoutlock=thread.allocate_lock()
> >print 'waiting for connection'
> >cSocket,addr=sSocket.accept()
> >print 'connection from',addr
> >cSocketlock=thread.allocate_lock()
> >thread.start_new_thread(sendData,(cSocket,))
> >thread.start_new_thread(getData,(cSocket,))
> >if p==0:
> >    sSocket.close()
>
> >In the above program, why there is an unhandeled exception ???
>
> Just a guess. You should really include the traceback when you ask a
> question like this.
>
> Jean-Paul

It's not a traceback error. It's an unhandeled exception..please help



More information about the Python-list mailing list