ciao a tutta la lista.

Dovrei creare una serie di connessioni all'interno di un loop. Per esempio 
telnetlib, ma vanno bene anche dei socket qualunque.

Ogni volta che stabilisco una connessione questa viene inviata ad un thread che 
fa il suo lavoro.
Il problema che mi si pone è come chiamare ogni connessione con un nome 
differente in modo chenon abbia successivamente difficoltà a gestirle 
all'interno dei threads.

1° listato funzionante
contatore = 0

while contatore <= 10:
    conn = telnetlib.Telnet(address,23,3)
    contatore += 1
    ...

E' ovvio che non posso chiamare dieci connessioni tutte con il nome 'conn'. E' 
sbagliato!
(naturalmente 'address' è differente ad ogni iterazione del while sennò rischio 
un auto-DoS)
2° listato che mi si impalla

conn = []
contatore = 0
while contatore <= 10:
    conn[contatore] = telnetlib.Telnet(address,23,7)
    contatore += 1

    ...


Come suddetto, successivamente, per ogni connessione, viene lanciato un thread 
e che si porta come parametro conn | conn[contatore] e il thread fa il suo 
lavoro.


Domande: 

1. posso creare 10 connessioni utilizzando sempre conn? Sicuramente no!
2. Perchè mi si impalla il listato due?
3. Come posso creare 10 connessioni all'interno di un loop dando un nome 
progressivo ad ogni connessione?
4. Posso davvero portarmi la connessione come parametro per il thread o c'è un 
limite?
5. Che altre soluzioni posso adottare?


grazie.
py.Re
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a