Création d'un serveur multithread en utilisant l'infrastructure SocketServer en python

Cette question est résolue. Le code de travail est donnée ci-dessous dans ce post, trop.

Problème:
Je suis actuellement en train de se familiariser avec le réseau de la programmation avec Python. Je suis actuellement en train de travailler avec SocketServer cadre. Maintenant, ma question est comment puis-je créer des multi-thread serveur peut accepter plus d'un client à l'aide de SocketServer module? En gros, j'ai essayé d'utiliser ce code

t = Thread(target=server.serve_forever())
t.start()

Actuellement dans mon programme, le serveur n'accepte qu'un seul client. - Je me connecter au serveur en utilisant netcat. Le premier client se connecte au serveur sans aucun problème. Si j'essaie de me connecter au serveur à partir de la deuxième client le client maintient juste en attente pour se connecter. Dès que je déconnecte le premier client, le deuxième client se connecte avec le serveur automatiquement. Il me semble que le multi-threading n'est pas de travail. Je ne vois pas où j'ai loupé quelque chose. Tout conseil sera reconnaissant.
Mon code est comme ci-dessous:

#!/usr/bin/env python

import SocketServer
from threading import Thread


class service(SocketServer.BaseRequestHandler):
    def handle(self):
        data = 'dummy'
        print "Client connected with ", self.client_address
        while len(data):
            data = self.request.recv(1024)
            self.request.send(data)

        print "Client exited"
        self.request.close()



server = SocketServer.TCPServer(('',1520), service)
t = Thread(target=server.serve_forever())
t.start()

Grâce

Mise à jour:
Le code suivant est la solution:

#!/usr/bin/env python


import SocketServer
from threading import Thread

class service(SocketServer.BaseRequestHandler):
    def handle(self):
        data = 'dummy'
        print "Client connected with ", self.client_address
        while len(data):
            data = self.request.recv(1024)
            self.request.send(data)

        print "Client exited"
        self.request.close()


class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
    pass

t = ThreadedTCPServer(('',1520), service)
t.serve_forever()

source d'informationauteur