Programmazione Socket in PHP
I socket vengono utilizzati per la comunicazione tra processi. La comunicazione tra processi è generalmente basata sul modello client-server. In questo caso, client-server sono le applicazioni che interagiscono tra loro. Il questo articolo impareremo ad utilizzare i socket di PHP
Introduzione
I socket vengono utilizzati per la comunicazione tra processi. La comunicazione tra processi è generalmente basata sul modello client-server. In questo caso, client-server sono le applicazioni che interagiscono tra loro. L'interazione tra client e server richiede una connessione. La programmazione socket è responsabile di stabilire quella connessione tra le applicazioni per interagire.
Uso del codice
viluppare un client per inviare un messaggio di stringa al server e il server per restituire il contrario dello stesso messaggio al client.
SERVER PHP
Passaggio 1: imposta variabili come 'host' e 'port'
$host = "127.0.0.1";
$port = 5353;
// No Timeout
set_time_limit(0);
Passaggio 2: crea socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
Passaggio 3: associare il socket alla porta e all'host
Qui la risorsa socket creata è legata all'indirizzo IP e al numero di porta.
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
Passaggio 4: inizia ad ascoltare la porta
Dopo essere stato associato a IP e port, il server attende che il client si connetta. Fino ad allora continua ad aspettare.
$result = socket_listen($socket, 3) or die("Could not set up socket listener\n");
Passaggio 5: accetta la connessione in entrata
Questa funzione accetta la richiesta di connessione in entrata sul socket creato. Dopo aver accettato la connessione dal socket client, questa funzione restituisce un'altra risorsa socket che è effettivamente responsabile della comunicazione con il socket client corrispondente. Qui '$ spawn' è quella risorsa socket responsabile della comunicazione con il socket client.
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");
Passaggio 6: leggere il messaggio dal socket client
$input = socket_read($spawn, 1024) or die("Could not read input\n");
Passaggio 7: invertire il messaggio
$output = strrev($input) . "\n";
Passaggio 8: inviare un messaggio al socket del client
socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n");
Chiudere il socket
socket_close($spawn);
socket_close($socket);
What's Your Reaction?