[PHP] fsockopen - Funktion

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Gimli_q, 6. Mai 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 6. Mai 2010
    fsockopen - Funktion

    Hallo zusammen,

    ich habe ein Problem bzgl. der fsockopen funktion.
    Ich verbinde auf einen Counterstrike-Gameserver wie folgt:

    PHP:

    function  connect () {
          if(!
    $this -> cssock  fsockopen ( "udp://" . $this -> csip $this -> csport $errnr , 3 )) {
                
    $errmsg  = - 1 ;                    // keine Verbindung
                
    echo  "Connection FALSE<br>" ;
                return 
    "" ;
          }    

          
    //socket_set_blocking($this->$cssock,true);    
          //socket_set_timeout($this->$cssock,0,500000);
    }

    bei erfolgreicher Verbindung funktioniert das einwandfrei. Jedoch bei keiner Verbindung soll ja lt. der IF-Abfrage eine Meldung "Connection FALSE" erscheinen. Das passiert aber nicht, sondern der Browser hängt sich vollkommen auf.

    Hat jemand eine Ahnung an was das liegen könnte?

    Danke schonmal im voraus!

    Viele Grüsse,
    gimli_q
     
  2. 6. Mai 2010
    AW: fsockopen - Funktion

    Das Problem wird denk ich an UDP liegen. UDP ist verbindungslos, d.h. es werden keine Verbindungen aufgebaut und man kann auch gar nicht feststellen, ob man den anderen überhaupt erreicht. Man schickt einfach Pakete los und hofft, dass sie beim gegenüber ankommen. Der kann dann ja eine Bestätigung zurückschicken. Aber wirklich sichergehen kannst du bei sowas nicht.

    Der Browser wird vllt. hängen, weil er "unendlich" lang auf eine Antwort wartet, die aber nicht eintrifft.
     
  3. 6. Mai 2010
    AW: fsockopen - Funktion

    nach $errno kommt noch $errstr - vermutlich ist dein "timeout" zu hoch

    siehe: PHP: fsockopen - Manual
     
  4. 6. Mai 2010
    AW: fsockopen - Funktion

    Danke für eure schnelle Antworten.
    $errstr habe ich hinzugefügt. Den Timeout schon mehrmals hoch und runter gestellt, es passiert der selbe Effekt.

    Ich habe schon in der php.ini den Timeout von sockets auf 5 Sekunden gestellt. Das Problem tritt weiterhin auf.

    Gibt es noch eine alternative Lösung?

    vielen Dank,
    gimli_q
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.