Python sockets - garder prise en vie?

Je vais avoir un peu de mal avec les sockets en Python. Chaque fois que quelqu'un se connecte, il fonctionne très bien, mais si ils déconnecter le serveur du programme se ferme. Je veux que le programme de serveur de rester ouvert après que le client ferme. Je suis à l'aide d'une boucle while True de garder la connexion, mais une fois que le client ferme la connexion au serveur ferme la connexion.

Ici est le client:

import socket, sys
conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = sys.argv[1]
port = int(sys.argv[2])
conn.connect((host, port))

print("Connected to host " + sys.argv[1])
td = 1
while td == 1:
   msg = raw_input('MSG:  ')

Voici le serveur:

import socket, sys

socket.setdefaulttimeout(150)
host = ''               
port = 50005
socksize = 1024

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
print("Server started on port: %s" % port)
s.listen(1)
print("Now listening...\n")
conn, addr = s.accept()

while True:
    print 'New connection from %s:%d' % (addr[0], addr[1])
    data = conn.recv(socksize)
    if not data:
        break
    elif data == 'killsrv':
        conn.close()
        sys.exit()
    else:
       print(data)
Êtes-vous à l'aide de n+1 prise pour n connexions? Vous avez besoin d'un support qui est à l'écoute à tout moment. Ce socket d'écoute accepte de nouvelles connexions et ouvre une autre prise chaque fois qu'une connexion est demandée
Pouvez-vous poster un petit bout de code pour illustrer le problème?
n+1 sockets? Ne sais pas si je suis la suite. Pourriez-vous expliquer un peu plus?
Si vous voulez que quelque chose soit fait usage au moins une socketserver.

OriginalL'auteur AustinM | 2011-02-24