Programm läuft nach Thread aufruf nicht weiter
Verfasst: Dienstag 20. August 2013, 21:24
Guten Abend
Also ich müsste ein Ping ausführen der beim Ersten Start überprüft ob der Server da ist oder nicht. Wenn der Server nicht da ist soll der Ping immer weiter ausgeführt bis er da ist.
Das ganze sieht so aus:
Ping:
Aufruf:
egal wie ich es drehe und wende. Nach dem _thread.start_new_thread(Ping(), (1,)) läuft das Main Programm nicht weiter.
Also ich müsste ein Ping ausführen der beim Ersten Start überprüft ob der Server da ist oder nicht. Wenn der Server nicht da ist soll der Ping immer weiter ausgeführt bis er da ist.
Das ganze sieht so aus:
Ping:
Code: Alles auswählen
def Ping():
while True:
serverHost = '192.168.178.43'
serverPort = 7
message = [b'ping']
input = ""
try:
sockobj = socket(AF_INET, SOCK_STREAM)
sockobj.connect((serverHost, serverPort))
for line in message:
sockobj.send(line)
data = sockobj.recv(1024)
input = data.decode("utf-8")
sockobj.close()
if(input == "true"):
Arduino_status = 1
else:
Arduino_status = 0
except ConnectionRefusedError:
Arduino_status = 0
finally:
sockobj.close()
print(Arduino_status)
time.sleep(5)
Code: Alles auswählen
print("Connecting to Arduino")
_thread.start_new_thread(Ping(), (1,))
time.sleep(3) #Zeit für den Ping
while(Arduino_status == 0):
print("FEHLER: Arduino nicht erreicht")
time.sleep(2)
print("[OK] Verbindung zum Arduino aufgebaut")