Создание многопоточного сервера с использованием фреймворка SocketServer в python

Этот вопрос решен. Рабочий код приведен ниже в этом посте тоже.

проблема: В настоящее время я знакомлюсь с сетевым программированием на Python. В настоящее время я работаю с фреймворком SocketServer. Теперь мой вопрос: как мне создать многопоточный сервер, который может принимать более одного клиента, используя модуль SocketServer? Я в основном пытался использовать этот код

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

В настоящее время в моей программе сервер принимает только одного клиента. Я подключаюсь к серверу, используя netcat. Первый клиент подключается к серверу без проблем. Если я пытаюсь подключиться к серверу со второго клиента, клиент просто продолжает ждать подключения. Как только я отключаю первый клиент, второй клиент автоматически соединяется с сервером. Мне кажется, что многопоточность не работает. Я могу'не могу понять, где я что-то упустил. Любой намек будет замечательным. Мой код, как показано ниже:

#!/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()

Спасибо

Обновить: Следующий код является решением:

#!/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()

Ответы на вопрос(3)

Ваш ответ на вопрос