Programmazione socket in PHP - Metodo di classe diverso con esempi

Sommario:

Anonim

Introduzione alla programmazione socket in PHP

Tutti i linguaggi di programmazione forniscono il meccanismo per implementare la comunicazione server e client. Secondo questo meccanismo, l'applicazione consente al server e al client di scambiare dati tra di loro. Simile agli altri linguaggi di programmazione, anche PHP ci fornisce questo meccanismo. La programmazione socket può essere definita come l'approccio di programmazione che ha il server e il client come l'applicazione in cui è necessario stabilire una connessione tra i due per facilitare la comunicazione tra di loro. In termini di PHP, ci consente anche di implementare il concetto di programmazione socket. In questo articolo, impareremo come implementare questa programmazione socket usando il linguaggio di programmazione PHP.

Metodi di classe socket

I metodi della classe socket sono le funzioni speciali che ci consentono di implementare la programmazione socket. Il programma che deve essere scritto per portare le funzionalità della programmazione socket utilizza le funzioni socket predefinite. Queste funzioni sono costituite dalle istruzioni che svolgono il ruolo effettivo nella programmazione socket. Di seguito sono riportate alcune delle funzioni socket.

  • Socket_accept: questa è una delle funzioni socket più comuni che viene utilizzata per accettare una connessione su un socket. Il ruolo principale di questa funzione è quello di consentire la connessione accettata ogni volta che si verifica una richiesta.
  • Socket_addrinfo_bind: questa funzione viene utilizzata per aggiungere le informazioni fornite al socket. Le informazioni accettate devono essere assegnate al socket per facilitarne l'implementazione.
  • Socket_clear_error: questa funzione viene utilizzata per cancellare l'errore che si trova sul socket. Oltre a ciò, questa funzione cancella anche l'errore sull'ultimo codice.
  • Socket_close: come indicato dal nome, questa funzione viene utilizzata per chiudere la risorsa che appartiene al socket.
  • Socket_connect: questo metodo viene utilizzato per creare una connessione socket. Nella programmazione socket, il programma inizia con la creazione della connessione che può essere effettuata utilizzando questa funzione.
  • Socket_create: questo metodo riguarda la creazione del socket. Il socket creato utilizzando questo metodo funziona come endpoint della connessione.
  • Socket_create_listen: questa funzione viene utilizzata per aprire il socket sulla porta specificata che accetta la connessione. Come dice il nome, aiuta ad aprire il socket per l'ascolto.
  • Socket_create_pair: questo metodo viene solitamente utilizzato nell'applicazione che deve mettere in uso la parte complessa della programmazione dei socket. Aiuta nella creazione di socket indistinguibili e quelli sono memorizzati nell'array.
  • Socket_get_option: questo metodo viene utilizzato per ottenere le opzioni per il socket. Una presa è composta da diverse opzioni che devono essere utilizzate in conformità con l'applicazione. Usando questo metodo, possiamo ottenere tutte quelle opzioni che ha un socket.
  • Socket_getsockname: questo metodo viene utilizzato per interrogare la regione locale del socket selezionato e, in cambio, può ottenere i dettagli relativi all'host / porta o al percorso del filesystem Unix. Qualunque risultato ottenga dipende totalmente dal tipo.

Esempio di client socket

In questa sezione, vedremo il codice che verrà utilizzato per implementare la programmazione socket lato client. L'esempio menzionato di seguito avrà il post e i dettagli dell'host che verranno utilizzati per creare la connessione socket. Una volta stabilita la connessione, scambia alcuni dei messaggi e si aspetta una risposta dal server.

<_?php
$port_number = 1230;
$IPadress_host = "127.0.0.1";
$hello_msg= "This is server";
echo "Hitting the server :".$hello_msg;
$socket_creation = socket_create(AF_INET, SOCK_STREAM, 0) or die("Unable to create connection with socket\n");
$server_connect = socket_connect($socket_creation, $IPadress_host, $port_number) or die("Unable to create connection with server\n");
socket_write($socket_creation, $hello_msg, strlen($hello_msg)) or die("Unable to send data to the server\n");
$server_connect = socket_read ($socket_creation, 1024) or die("Unable to read response from the server\n");
echo "Message from the server :".$server_connect;
socket_close($socket_creation);
?>

Nell'esempio sopra, il numero di porta è 1230 in cui il programma tenta di connettersi. L'indirizzo IP dell'host sarà l'IP dell'host locale. Se qualcuno è disposto a interagire con il server remoto, può menzionare l'indirizzo IP del server. Quindi il messaggio verrà inviato al server che verrà mostrato nella pagina di risposta. La creazione del socket verrà successivamente elaborata. In questo programma, esiste un meccanismo adeguato per gestire l'errore utilizzando il metodo die. Se qualcosa è andato storto in quel caso, il metodo die viene revocato e viene visualizzato il messaggio in esso visualizzato.

Esempio di server socket

L'esempio dettagliato in questa sezione avrà i codici PHP che verranno sfruttati per implementare la programmazione dei socket sul lato server. I dettagli dell'IP e il numero di porta utilizzati nell'ultimo esempio rimarranno gli stessi anche in questo esempio. La differenza principale in questo esempio sarà la differenza principale che lo separa dal linguaggio di programmazione socket lato client. Consente di comprendere il codice PHP per la programmazione socket lato server.

<_?php
$port_number = 1230;
$IPadress_host = "127.0.0.1";
set_time_limit(0);
$socket_creation = socket_create(AF_INET, SOCK_STREAM, 0) or die("Unable to create socket\n");$socket_outcome = socket_bind($socket_creation, $IPadress_host, $port_number ) or die("Unable to bind to socket\n");
$socket_outcome = socket_listen($socket_creation, 3) or die("Unable to set up socket listener\n");
$socketAccept = socket_accept($socket_creation) or die("Unable to accept incoming connection\n");
$data = socket_read($socketAccept, 1024) or die("Unable to read input\n");
$data = trim($data);
echo "Client Message : ".$data;
$outcome = strrev($data) . "\n";
socket_write($socketAccept, $outcome, strlen ($outcome)) or die("Unable to write output\n");
socket_close($socketAccept);
socket_close($socket_creation);
?>

Nell'esempio sopra, il programma è stato sviluppato per funzionare nell'host locale. L'indirizzo IP menzionato qui appartiene all'host locale e il numero di porta può eseguire il servizio TCP e UDP su quello. Il passo iniziale è sempre la creazione del socket in quanto è qualcosa che verrà utilizzato in tutto il programma. Successivamente il socket è stato collegato con i valori specificati che aiuteranno nel funzionamento. I metodi utilizzati in questo programma hanno il significato predefinito che può essere utilizzato per uno scopo specifico. Una volta che tutto va bene, il programma funzionerà di conseguenza e alla fine chiuderà la connessione socket.

Conclusione - Programmazione socket in PHP

Il linguaggio di programmazione socket viene utilizzato per consentire all'applicazione di funzionare sul server e sul modello client. Questo approccio di programmazione ci consente di stabilire la connessione tra il server e il client in modo da facilitare lo scambio di dati. Per rendere semplice e conveniente la programmazione dei socket, PHP ha fornito i metodi predefiniti in cui a tutti i metodi sono assegnati compiti specifici.

Articoli consigliati

Questa è una guida alla programmazione dei socket in PHP. Qui discutiamo i metodi che ci consentono di implementare la programmazione socket e come consente al server e al client di scambiare dati tra di loro. Puoi anche consultare i nostri altri articoli correlati per saperne di più -

  1. Introduzione all'incapsulamento in PHP
  2. Costruttore in PHP | Tipi di costruttore
  3. Cos'è Override in PHP?
  4. Costanti magiche di PHP
  5. Funzione ricorsiva PHP
  6. Esempi di funzioni stringa PHP
  7. Guida alla programmazione dei socket in Java