Lokaler PHP-Server
Julian von Mendel
- php
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
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
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
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
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