• Cart0
    Ialt 0.00 DKK
    Your shopping cart is empty!
    Tax:
    Discount:
    Total:

Simple TCP echo server med PHP

Bedøm denne artikel
(0 bedømmelser)

Kørsel af en PHP script, når der modtages data på en TCP port

Når der modtages data (via TCP eller UDP), den pure.box er i stand til at reagere ved at køre et PHP script. De modtagne data kan læses via PHP og viderebehandles (f.eks besvare datakilden, transmission over netværket eller gemme i box-intern database). PHP fortolkeren arbejder udelukkende "under kølerhjelmen", og ingen traditionel produktion i form af en webside genereres. Denne funktionalitet gør det muligt at realisere simple server-applikationer blot ved hjælp af web-teknikker.

Formål

For at teste en netværksforbindelse, et ekko-server, der lytter til TCP-port 8000 skal oprettes på pure.box. Data, der sendes til denne port skal herefter returneres uændret til kilden.

PHP-filen for at gennemføre dette eksempel echo.php kan downloades her .

Konfiguration af pure.box

Gem filen echo.php ved hjælp af FTP eller SMB-signering i mappen med navnet programmer i pure.box. Så følgende konfigurationsmuligheder trin udføres:

Åbn hjemmeside af pure.box ved at indtaste IP-adressen i adresselinjen i din browser.
Motherbox hjemmeside
Vælg Log ind i menuen træet og logge på med dit password i den åbnede dialogboks.
Motherbox dialogboksen login box
Naviger til side Home >> Configuration >> Bruger filer . I filen oversigt klik på mappen med navnet programmer . Filen echo.php vises.
Motherbox filbrowser
Ved at klikke på ikonet Rediger filegenskaber (venstre siden echo.php ) åbner dialogen Rediger.
e-50.501-10-piww-000
Kontroller indstillingen Begivenhed kontrolleret . Vælg TCP og sæt Port til 8000. Gem dine ændringer ved at klikke på Gem ... du er færdig!
Event kontrol

Nu når data sendes til TCP port 8000 på pure.box, bliver de returneret til afsenderen. Returnering af data kræver modtagelse af et linjeskift (LF / Return tasten) som en terminator. Generelt bør du bemærke, at driften af PHP tolken stoppes automatisk efter to minutter. Den programmerede indsats bør derfor være i stand til at blive behandlet på kortere tid.

Kildetekst

I de to første linjer åbnes standard input til læsning og standard output for at skrive data.

$ I = fopen ("php: // stdin ',' r ');
$ ud = fopen ("php: // stdout ',' w ');

De indkommende data læses tegn for tegn i en løkke, og strengen variable $ input er vedlagt. Løkken forlades, når et linjeskift (Line Feed, ASCII tabel: 10) er opdaget.

$ Input = '';
do {
  . $ input = fread ($ i, 1);
} while (substr (input $, -1, 1) = chr (10)!);

Efter modtagelsen bliver læst strengen sendt tilbage ud til den initierende datakilde via standard output.

fwrite ($ ud, $ input);

Så både standard input og standard output er lukket.

fclose (i $)
fclose ($ ud);

Denne PHP script er nu fuldt køre og forlades. Modtages de næste gang data scriptet genstartes og kører igen som beskrevet ovenfor.

Resumé

Simple server-applikationer kan implementeres med pure.box uden forudgående viden ud over PHP. Serveren funktionalitet er allerede en del af pure.box. Alt, der kræves, er, at den handling, du ønsker at køre, når der modtages data er programmeret.

Læst 657 gange Senest ændret tirsdag, 23 april 2019 02:03

Skriv en kommentar

Vær sikker på, at du indtaster al krævet information, markeret med en stjerne (*). HTML kode tillades ikke.