Ich möchte mir einen kleinen Proxy bauen und möchte nun, dass pro Array-Element (redirevts) auf einem bestimmten Port gelauscht wird.
Letzendlich soll der Codeblock nur auf den Ports '44391' und '99391' lauschen.
Das Problem hierbei ist, dass das threading nicht so funktioniert wie ich mir das vorstelle.
Er kommt - auch ohne den 'thread.start_new_thread'-Teil - nicht in den 2. Durchgang der Schleife.
Er lauscht - scheinbar nicht in einem Thread - auf Port 44391 und kommt nicht weiter.
Code: Alles auswählen
$ python test.py
host1, 44391
Wenn doch - wie?
Vielen Dank schonmal im voraus,
hoffe ihr hattet frohe Ostern
d@tenmaulwurf
Code: Alles auswählen
import socket
import thread
redirects = [(44391,'host1',443), (99391,'host2',993)];
server = [];
def listener (redirect):
server.append (socket.socket ( socket.AF_INET, socket.SOCK_STREAM ));
server[i].bind ( ( '127.0.0.1', redirect[0] ) );
server[i].listen ( 1 );
server[i].accept ();
i = 0;
for redirect in redirects:
print redirects[i][1] + ', ' + str (redirects[i][0]);
thread.start_new_thread (listener (redirects[i]))
i = i+1;