Ich schreibe nen kleinen Server, der mehrere Clients verwalten soll. Soweit klappt das auch, mehrere Clients können gleichzeitig auf den Server zugreifen. Das läuft folgendermaßen:
Das Hauptprogramm startet einen Listening-Thread. Dieser Thread öffnet einen Port und hört auf diesem. Sobald sock.accept() was empfängt, startes es einen neuen Thread, und in diesem neuen Thread werden Daten empfangen und verarbeitet.
Das Problem ist, alles hinter dem Aufruf des Listening-Threads im Hauptprogramm wird nicht ausgeführt. D.h. obwohl ich im Hauptprogramm einen neuen Thread starte, der ja den Socket veralten soll, bleibt das Hauptprogramm an dieser Stelle stehen!? Wie kann das sein? Das Hauptprogramm sollte doch weiterlaufen, dazu sind Threads doch da!! Hat jemand ne Idee? Oder ist es so gedacht das man das Hauptprogramm initialisiert und dann als letztes diesen TCP-Sever startet und dann alles weitere innerhalb dieses Threads geschieht?
TCP socket in Thread blockiert ALLES!?
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Ja, das wäre ganz hilfreich.