Mailinglisten-Archive |
Ruth wrote: >Folgendes Szenario: >Eine Message wird mit socket_write() auf den vorgegebenen Port geschrieben. >Das Server-Exe sollte normalerweise eine Antwort schicken. Aus irgendeinem >Grund schickt der Server keine Meldung. Daraufhin blockiert das Script und >wird erst nach max_execution_time = 30 sec abgebrochen. >Ziel: >Ich mochte maximal 10 sec auf Antwort warten, nachdem ich eine Message auf >den Socket geschrieben haben. Wenn die 10 sec. Vorbei sind, so werde ich >eine Fehlerbehandlung durchfuhren. >Frage: >Wie kann ich mein PHP Script so abandern, dass nach socket_write() maximal >10 sec gewartet wird, ohne dass das Script blockiert? >Ich habe bereits versucht, die Methode socket_set_timeout($socket, 2) nach >socket_write() aufzurufen, aber leider ohne Erfolg! >Wer weiss eine Losung fur mein Problem? Hi Ruth, Das Problem bei Socket -Verbindungen ist, dass man genau wissen muss was man an den Socketserver weitergibt. Hier hilft eigentlich nur eine gewissenhafte und genaue Syntaxuebergabe. Wenn du z.B. was sendest bevor du eine Antwort vom Server gelesen hast oder umgekehrt haengt die Verbindung, es kommt schlichtweg nichts, auch keine Fehlermeldung. Der Befehl socket_set_timeout bringt in diesem Falle auch nichts. Da hilft bei Standardsocket nur das Durchlesen der RFC's, bei eigener Programmierung fehlerfreier Syntax. MFG Wolfgang
php::bar PHP Wiki - Listenarchive