hallo allemaal,
ik ben bezig met een chatprogramma te maken in python 3 en ik loop tegen het voglende probleem aan.
ik heb een functie in een thread maar de thread.start() functie blocked ipv dat ie de thread start en dan verder gaat. ik had eerst als functie in de thread het volgende:
toen heb ik rondgezocht en bleek dat de s.recv kan blocken. dus toen heb ik het verandert naar dit om het te testen:
en ik krijg vervolgens als output netjes om de seconde een "test" geprint. dus de thread zelf werkt wel. het probleem is alleen dat de code na de thread.start() call niet uitgevoerd wordt
dus ik creeër de thread op deze manier:
maar die "thread started" krijg ik nooit te zien. ik kan op google geen oplossingen hiervoor vinden. wie o wie kan mij hiermee helpen? alvast bedankt!
ik ben bezig met een chatprogramma te maken in python 3 en ik loop tegen het voglende probleem aan.
ik heb een functie in een thread maar de thread.start() functie blocked ipv dat ie de thread start en dan verder gaat. ik had eerst als functie in de thread het volgende:
Python:
1
2
3
4
5
| def ServerInput(s,clientname): while True: serverinput = str(s.recv(1024), "utf-8") if clientname not in serverinput and "OK" not in serverinput: print(serverinput) |
toen heb ik rondgezocht en bleek dat de s.recv kan blocken. dus toen heb ik het verandert naar dit om het te testen:
Python:
1
2
3
4
5
6
7
| def ServerInput(s,clientname): while True: #serverinput = str(s.recv(1024), "utf-8") serverinput = "test" if clientname not in serverinput and "OK" not in serverinput: print(serverinput) time.sleep(1) |
en ik krijg vervolgens als output netjes om de seconde een "test" geprint. dus de thread zelf werkt wel. het probleem is alleen dat de code na de thread.start() call niet uitgevoerd wordt
dus ik creeër de thread op deze manier:
Python:
1
2
3
4
| thread = threading.Thread(target=ServerInput(sock,NAME)) thread.deamon = True thread.start() print("thread started") |
maar die "thread started" krijg ik nooit te zien. ik kan op google geen oplossingen hiervoor vinden. wie o wie kan mij hiermee helpen? alvast bedankt!