ti chiedo un'altra cosa, leggendo i vari articoli, ho visto che per ricevere i dati da una porta udp viene messo tutto in un ciclo cosi:

while 1:
data, addr = socket.recv(1024)
if data:
print data



Io mi sono scritto la classe che fa la connessione, nell'init apro la porta socket, e poi ho pensato che debba stare in ascolto, e cosi ho fatto un metodo chiamato MainLoop dove ho messo il pezzo di codice soprastante.

In questo modo però perdo il controllo del programma e inoltre posso solo ricevere e non spedire.

Come ci si comporta in questi casi?
Leggevo qualcosa riguardo i thread, è forse questa la strada da seguire?

ciao e grazie per la pazienza