kostenloser Webspace werbefrei: lima-city


PHP-File mit php aufrufen/parsen?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    lol4me

    lol4me hat kostenlosen Webspace.

    Ich würde gerne im Netzwerk an einen Computer (nenne ihm mal Main-Node) einen PHP-Skript auf anderen Computern (Sub-Node's) parsen und das Ergebnis auslesen lassen.
    Dabei muss ich aber den Skript am Sub-Node eine Get-Variable übermitteln, damit er weiß was er zu tun hat.
    Habe keinen Plan wie das lösbar wäre (bzw. ob es überhaupt geht).

    Ach ja, und wenn möglich soll der Skript am Main nicht warten bis der aufgerufene fertig ist, sondern wärenddessen weitermachen.
    Will damit ne Lastenverteilung realisieren, und sonst würde das nichts bringen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. <?php
    $file = file_get_contents ('http://sub-node/php-script.php?blub=bla');
    // $file enth&#228;lt das Ergebnis von php-script.php?blub=bla auf Sub-Node
    ?>

    Wo ist denn da das Problem?

    Wenn du nicht warten willst, bis Sub-Node fertig ist, dann solltest du vllt einfach nur einen Socket Verbindung aufbauen mit einem sehr kurzem Timeout. Allerdings bekommst du dann auch kein Ergebnis zur&#252;ckgeliefert.

    MfG Lucas
  4. Autor dieses Themas

    lol4me

    lol4me hat kostenlosen Webspace.

    Danke.
    Das Problem war in erster Linie dass ich den Befehl nicht kannte.

    W&#228;re es in dem Fall besser vielleicht zuerst nacheinander das File auf den Sub-Node's aufzurufen, was das Ergebniss nicht direkt zur&#252;ckgibt sondern local in ein File speichert, und dann nacheinander wieder ein 2. File was dann einfach das Ergebniss auslie&#223;t? Somit w&#228;re der Main w&#228;rend der erste Sub rechnet damit besch&#228;ftigt die Aufgaben auf die anderen zu verteilen, und es w&#252;rde meiner Meinung nach zu keiner Verz&#246;gerung kommen, oder?
  5. Daf&#252;r m&#252;sstest du dann allerdings eine Socketverbindung mit einem sehr kurzem Timeout aufbauen, denn der Timeout bei "file_get_contents ()" etc. ist relativ hoch. Oder du stellst es in der php.ini um.

    Du "pingst" folglich mit der Socketverbindung die Dateien auf allen Subnodes(-> Subnodes fangen an zu arbeiten) nacheinander an -> Danach f&#228;ngst du bei dem zuerst angepingten Subnode an und fragst die Ergebnisse nacheinander ab, in dem du nun "file_get_contents ()" oder eine &#228;quivalente Funktion nutzt.

    MfG Lucas

    P.S.: Wof&#252;r willst du das nutzen? Oo
    Wenn es wirklich um Performance geht, dann sollte man nicht gerade PHP, sondern C++ oder noch besser direkt Assembler, nutzen. ^^

    Beitrag geändert: 25.11.2007 16:41:24 von lucas9991
  6. Autor dieses Themas

    lol4me

    lol4me hat kostenlosen Webspace.

    W&#252;rde das also z. B. so funktionieren?

    <?php
    $connection = fsockopen("192.168.1.4/file2.php?v=1", 80);
    stream_set_timeout($connection,1);
    $connection = fsockopen("http://192.168.1.5/file2.php?f=1", 80);
    stream_set_timeout($connection,1);
    $file = file_get_contents('http://192.168.1.4/file2.php?f=1');
    echo $file;
    $file = file_get_contents('http://192.168.1.4/file2.php?f=1');
    echo $file;
    ?>

    Timeout ist aber im eigenen Netzwerk doch eigendlich unn&#246;tig, oder? Verbindung sollte immer hergestellt werden k&#246;nnen.

    Aber ich habe ein paar Rechner in meinen Zimmer rumstehen, und dachte mir dass ich mal versuche sie f&#252;r irgend eine Aufgabe zu vernetzen.
    Und PHP ist die einzige Sprache, die ich wenigstens halbwegs kann.
  7. Sollte an sich so funktionieren.
    Ich w&#252;rde allerdings den Timeout auf 3 Sekunden setzen, da immer mal etwas l&#228;nger dauern kann - auch im eigenen Netzwerk.
    Sollte z.B. das Paket verloren gehen, dann w&#252;rde wieder der normale Timeout benutzt, also lieber mit angeben. ;-)

    edit:
    Du hast die Adressen ein bisschen durcheinander gebracht.

    Beitrag geändert: 25.11.2007 17:40:49 von lucas9991
  8. Autor dieses Themas

    lol4me

    lol4me hat kostenlosen Webspace.

  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!