Your handle will never quit, and because you did not use any multithreading/multiprocessing, it will serve one connection forever. So first you should have some way to quit. Such as a message "quit" from the client side. Like this:
def handle(self):
while 1:
self.data = self.request.recv(1024).strip()
print self.data
if self.data == 'quit':
break
# echo back data in all caps
self.request.sendall(self.data.upper())