Julian von Mendel: Lokaler PHP-Server

Hi,

wie kann ich ein PHP-Skript schreiben, welches auf einem bestimmtem Port auf Anfragen wartet? Also das ich z.B. auf Port 1500 connecten kann, und er dann Befehle entgegen nimmt. Da in der Regel PHP nicht lokal ausgeführt wird und sonst ein PHP-Server ziemlicher Schwachsinn wäre, habe ich leider nicht viele Informationen dazu gefunden. Ein Tutorial oder ein kleines Beispiel wäre sehr hilfreich. Danke!

Schöne Grüße,
Julian

  1. Halihallo Julian

    wie kann ich ein PHP-Skript schreiben, welches auf einem bestimmtem Port auf Anfragen wartet? Also das ich z.B. auf Port 1500 connecten kann, und er dann Befehle entgegen nimmt. Da in der Regel PHP nicht lokal ausgeführt wird und sonst ein PHP-Server ziemlicher Schwachsinn wäre, habe ich leider nicht viele Informationen dazu gefunden. Ein Tutorial oder ein kleines Beispiel wäre sehr hilfreich. Danke!

    Fange bei http://www.php.net/socket_create an und angle dich
    durch die "see also" durch:
    <cite>
    See also socket_accept(), socket_bind(), socket_connect(), socket_listen(), socket_last_error(), and socket_strerror()
    </cite>

    Zuerst musst du das Socket erstellen => socket_create()
    Dann wird es an eine Adresse:Port gebunden => socket_bind()
    Dann musst du sagen, dass es "hören" soll => socket_listen()
    Dann kannst du die Verbindungen entgegennehmen => socket_accept()

    und so weiter. Liest dich einfach mal durch :-)

    Aber beachte: Diese Funktionen sind noch EXPERIMENTAL! und existieren
    erst sein PHP 4.1.0.

    Wahrscheinlich seit PHP sich auch als
    Konsolenapplikationsprogrammiersprache wirbt, aber ich denke, dass
    Perl hierfür (für Client/Server-Architekturen) - sagen wir
    mal - die ältere und bessere Lösung darstellt (wann gibt's endlich
    mal ein fork() für PHP? - Ohne dass müsste man eigentlich gar nicht
    anfangen Serveranwendungen (als Server agierende) zu schreiben).

    Ich möchte dich nicht davon abhalten dies in PHP umzusetzen, aber
    ich muss hier schon feststellen, dass Perl in diesem Bereich noch
    ganz weit die Nase vorne hat...

    Viele Grüsse

    Philipp

    1. Moin,

      (wann gibt's endlich mal ein fork() für PHP?

      Sobald PHP 4.1 rauskommt, also ungefähr in -26 Monaten. ;-)
      http://de2.php.net/manual/de/function.pcntl-fork.php

      --
      Henryk Plötz
      Grüße aus Berlin
      ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
      ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
      1. Halihallo Henryk

        (wann gibt's endlich mal ein fork() für PHP?
        Sobald PHP 4.1 rauskommt, also ungefähr in -26 Monaten. ;-)
        http://de2.php.net/manual/de/function.pcntl-fork.php

        Oh, na endlich :-)   danke.

        @Julian: Ja natürlich, C liegt noch etwas näher am Kern des
        Geschehens :-)
        Und fork() (engl. Gabel) gabelt den Prozess. Sprich: Aus einem mach
        zwei.

        man fork
        perldoc -f fork
        http://www.php.net/pcntl_fork :-)

        Viele Grüsse

        Philipp

    2. Halihallo Julian

      Hi Philipp :)

      Fange bei http://www.php.net/socket_create an und angle dich
      durch die "see also" durch:
      Zuerst musst du das Socket erstellen => socket_create()
      Dann wird es an eine Adresse:Port gebunden => socket_bind()
      Dann musst du sagen, dass es "hören" soll => socket_listen()
      Dann kannst du die Verbindungen entgegennehmen => socket_accept()

      Danke.

      Wahrscheinlich seit PHP sich auch als
      Konsolenapplikationsprogrammiersprache wirbt, aber ich denke, dass
      Perl hierfür (für Client/Server-Architekturen) - sagen wir
      mal - die ältere und bessere Lösung darstellt (wann gibt's endlich
      mal ein fork() für PHP? - Ohne dass müsste man eigentlich gar nicht
      anfangen Serveranwendungen (als Server agierende) zu schreiben).

      Was macht fork?

      Ich möchte dich nicht davon abhalten dies in PHP umzusetzen, aber
      ich muss hier schon feststellen, dass Perl in diesem Bereich noch
      ganz weit die Nase vorne hat...

      Ich kann besser C als Perl, und C ist wohl Perl auch überlegen. Ich mag aber die Einfachheit von PHP :)

      Schöne Grüße,
      Julian