Udp Verbindung [game server]

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

  • Udp Verbindung [game server]

    Hi!

    Vorab mal, ich bin neu hier hehe

    Naja das Problem bei meinem Script ist, dass es dem Server, bzw webspace funktioniert hat. NUn wollte ich meinen eigenen, hab mir folglich ne domain + 500mb angeschafft. Php Version ist auf beiden Servern dieselbe, beide laufen mit FreeBSD und Apache(falls das entscheidend ist) Nun, beim ersten Server bekomme ich brav eine Antwort, auf die Status Anfrage über UDP Port 28960. Beim anderen gibts selbst nach 10 Sekunden noch ein Timout

    PHP-Code:
    $fp fsockopen("udp://$srvip"$srvport$errno$errstr);

       
    fwrite($fp"ÿÿÿÿ getstatus");
       
    socket_set_timeout($fp2);
     
       
    $serverstatus =  fread($fp1000);
        
    fclose($fp);
    echo 
    "$serverstatus"
    Ich hab darauf natürlich dem Support mal ne mail geschrieben-ich wurde gefragt ob evtl url_fopen of On stehen müsse. Nun ja, nun steht es auf 'On', funktionieren tut aber trotzdem noch nix, immernoch timeout. Das es ein Firewall Problem seitens des Servers ist kann ich kaum glauben- es ist ja blos eine client anwendung, nichts das eine listen funktion bräuchte...naja vielleicht hat jemand von euch noch ne idee


    Auf hilfe hoffend

    mfg Nik

  • #2
    Re: Udp Verbindung [game server]

    Original geschrieben von nikbamert
    Ich hab darauf natürlich dem Support mal ne mail geschrieben-ich wurde gefragt ob evtl url_fopen of On stehen müsse.
    Die nahmen an, du operierst mit fopen().
    Das es ein Firewall Problem seitens des Servers ist kann ich kaum glauben- es ist ja blos eine client anwendung, nichts das eine listen funktion bräuchte...naja vielleicht hat jemand von euch noch ne idee
    Vielleicht akzeptiert der angesprochene Server Verbindungen nur von ihm bekannten Hosts?

    Kommentar


    • #3
      Zwe4i Dinge:
      Setz mal ein error_reporting (E_ALL); for dein Script
      und
      vergleiche einfach mal die phpinfo() von beiden Servern


      Mehr fällt mir dazu auch noch nicht ein.
      54 68 65 72 65 20 61 72 65 20 6F 6E 6C 79 20 31 30 20 74 79 70 65 73 20 6F 66 20 70 65 6F 70 6C 65 20 69 6E 20 74 68 65 20 77 6F 72 6C 64 3A A 54 68 6F 73 65 20 77 68 6F 20 75 6E 64 65 72 73 74 61 6E 64 20 62 69 6E 61 72 79 2C 20 61 6E 64 20 74 68 6F 73 65 20 77 68 6F 20 64 6F 6E 27 74

      Kommentar


      • #4
        hehe danke für die antworten erstmal Hab gleich mal alles gecheckt - das error reporting steht auf E_ALL, das script gibt aber noch immer keinen Fehler aus - bloss ein timout

        Dann hab ich mir mal die phpinfos durch gesehen, alles dasselbe seit url_fopen nun auch 'on' ist

        Vielleicht akzeptiert der angesprochene Server Verbindungen nur von ihm bekannten Hosts?
        Falls du den Game Server meinst, dann kanns kaum sein, auf den hab ich zugriff mit remote desk etc...hab da nichts besonderes eingestellt.
        Ich könnte zwar mal mit ethereal schaun' ob die Anfrage überhaupt ankommt-wäre jedoch merkwürdeig, dem anderen server gibt er ja auch prompt die Antwort zurück. Merkwürdig finde ich allerdings auch das PhP nicht mehr ausgibt, wenn keine Verbindung aufgebaut werden kann dann sollte mit E_ALL doch wenigstens stehen, dass es eben keine herstellen konnte.. , stattdessen krieg ich überhaupt nichts..naja mal schaun ob der support noch was von sich hören lässt, oder vielleicht hat nochmals jemand ne idee?

        mfg

        Kommentar


        • #5
          Ich würde das ganze ja gerne auf fopen() umschreiben, geht allerdings nicht da es ja ne udp verbindung ist Gibts denn eine option in der php.ini die etwas über fsockopen regelt? bei php.net steht dazu zwar

          Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.
          Aber was kanns denn sonst sein?

          Kommentar


          • #6
            Bevor du lange rumdoktorst, wirf doch mal ethereal an, um zu sehen, was von dir raus geht und was zurück kommt.

            Kommentar


            • #7
              hab ich gerade gemacht

              Aber da kommt nichts an, rein gar nichts. Was mich dann wieder verwundert ist, dass fsockopen allerdings brav ein socket bekommt; keine Fehlermeldung ...

              edit: allerdings hab ich nur auf den game server remote desktop zugriff, nicht auf meinen webspace, daher kann ich dort leider nicht segen was passiert Wenns doch blos ne funktion in php gäbe um zu pingen...
              Zuletzt geändert von nikbamert; 07.12.2005, 21:56.

              Kommentar


              • #8
                meeine güte..langsam hab ich echt kein plan mehr, ich habs nun direkt mit sockets versucht.

                PHP-Code:
                $fp socket_create(AF_INETSOCK_DGRAMSOL_UDP);
                socket_connect($fp"213.151.43.162"28961);
                socket_write($fp"ÿÿÿÿ getstatus");
                $servers =  socket_read($fp1000);
                socket_close($fp);

                echo 
                "$servers"
                Wieder dasselbe, auf dem einen Server gehts, auf dem anderen passiert gar nix. Habs nun mit php5 sowie auch 4.3.11 ausprobiert, af dem anderen wills einfach nicht, OBWOHL sockets mit hinein compiliert wurden. Gibts nicht irgendwas, dass das ganze erklären könnte?

                Kommentar


                • #9
                  Probier mal das hier aus:

                  $fp = fsockopen("udp://".$ip,$port, $errno, $errstr, 30);
                  fwrite($fp, "ÿÿÿÿ". chr (0x02). "getstatus". chr (0x00));
                  $serverstatus = fread($fp, 4);
                  echo $serverstatus;

                  Und zwar spielt es eine Rolle, wievel Zeichen du überhaupt einlesen möchtest, wenn der Server nciht soviel liefern kann, wie du haben wils, geht da glaub ich gar ncihts.
                  Zuletzt geändert von archie; 08.12.2005, 10:38.

                  Kommentar


                  • #10
                    doch, es geht ja auf dem anderen server :P

                    allerdings hab ich nun wieder was neues. Das Socket spricht plötzlich mit mir, hehe

                    Warning: socket_read() unable to read from socket [61]: Connection refused in /home/nikbamer/public_html/xs.php on line 22

                    Nun ja, der Server am anderen ende ist es DEFINITIV nicht, der die verbindung ablehnt-ich werd den Support wohl mal genauer ausfragen müssen, die 'sind sich nicht ganz sicher, ob udp nach aussen gesperrt ist' (Zitat) und das soll ein Support sein

                    Naja, to be continued

                    Kommentar

                    Lädt...
                    X