warum krieg ich fclose(); error?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • warum krieg ich fclose(); error?

    ich krieg folgendes:

    PHP Warning: fclose(): 3 is not a valid stream resource in /scriptdir/script.php on line 187

    das ganze ist derzeit ein shell script, sollte aber auch über apache funktionieren

    was mach ich da:
    1. ich bau eine Unix Domain Socket verbindung zu einem Server
    2. ich sende über die verbindung etwas (das funktioniert!!)
    3. ich krieg irgendwas (das funktioniert auch)
    4. ich will mit fclose(); die verbindung zu machen --> die obige fehlermeldung

    mich interessiert eigentlich nur, warum es zu dem fehler kommt
    weil:
    falls der unix domain socket server seine arbeit gemacht hat, schliesst er die verbindung (da es ein C++ server ist macht er einfach close(fd)
    wenn ich nun in meinem php script (das langsamer als der server ist) das andere ende der verbindung schließen möchte, krieg ich den fehler
    zumindest glaub ich mal das es daran liegt

    frage 1: wenn die verbindung bereits geschlossen ist und es ein gültiger stream resource war, da ich über diesen mit dem domain socket server kommuniziert habe, warum meint php das ist ungültig?
    es wär doch sinnvoller zu schreiben, dass die verbindung bereits geschlossen ist!?
    frage 2: kann ich mit php überprüfen ob eine mit fsockopen(); geöffnete verbindung von der anderen seite geschlossen wurde?
    dadurch möcht ich nämlich obige fehlermeldung vermeiden

    thx@ll
    Zuletzt geändert von Thinking; 26.09.2005, 13:28.

  • #2
    zur not: http://de2.php.net/manual/en/function.is-resource.php vor dem fclose().

    Kommentar


    • #3
      danke!

      Kommentar

      Lädt...
      X