Zoccoli sono un modo di trasferire dati utilizzando gli standard di un descrittore di file Unix. Un file descrittore Unix è un numero intero che è associato con un file aperto , e permette al sistema operativo di accedervi. Sotto il sistema operativo Unix , ogni cosa è un file , anche le connessioni di rete . Prese sono specializzati per la comunicazione Internet . Quando si utilizza prese nel programma , è necessario impostare un numero di byte da ricevere i dati . Questo è chiamato un buffer . Il C + + la funzione " recv ()" permette di impostare un buffer per la ricezione dei dati da un socket . Cose che ti serviranno
+ ambiente di sviluppo integrato (IDE) , come ad esempio Eclipse CDT
compilatore C + + , ad un GCC
Mostra più istruzioni
1
carico C + il C + + IDE facendo clic sulla relativa icona del programma . Quando si apre, selezionare " File /Nuovo /Progetto" e scegliere " Progetto C + +" per creare un nuovo progetto C + + . Un file di codice sorgente di vuoto viene visualizzata nell'editor di parte di testo della IDE
2
Aggiungere le due direttive "include" segue all'inizio del file di codice sorgente : . # Include < sys /tipi . h > # include
3 Familiarizzare con la firma di funzione per " recv ( ) . " le voci in parentesi sono detti parametri , e sono in genere usato come un modo di input di una funzione. Il primo parametro è "int s ", che si riferisce alla identificatore intero per il socket si desidera ricevere i dati. Il secondo parametro è un puntatore al buffer che memorizza i dati ricevuti , e il terzo parametro è la lunghezza del buffer in byte . Il quarto ed ultimo parametro è il parametro " flags ", che può alterare il comportamento della funzione . Il tipo di ritorno di questa funzione è " ssize_t ", e restituisce il numero di byte ricevuti , o "-1 ", se si verifica un errore .
Ssize_t recv (int s , void * buf , size_t len , int bandiere ) ;
4
Creare una matrice di tipi di dati "char ", che sono garantiti per essere almeno un byte di lunghezza. La lunghezza esatta dipende dalle specifiche del vostro sistema , ma in generale un " char" è un byte , o otto bit , lunghi . Scrivere il seguente per dichiarare un array di 256 tipi di dati " char" :
char buffer [ 256 ] ;
5
creare una variabile che memorizza il numero di byte ricevuti . Questo è il valore restituito dalla funzione " recv ( ) , " ed è utile per determinare quando il buffer è quasi pieno , oppure se si è verificato un errore . Scrivere il seguente per creare questa variabile :
int ricevuti = 0;
6
connettersi al percorso di rete utilizzando un socket . Un socket è solo un numero intero , e può essere dichiarata in questo modo:
presa int ;
7
Richiamare il " recv ( ) " la funzione utilizzando le variabili dichiarate finora. Per utilizzare " recv ( ) " con il suo comportamento predefinito , impostare il flag di
ricevuto = recv ( socket, tampone , sizeof (buffer ) , 0 ) " 0 ". ;
8 < p > compilare ed eseguire il programma . Il programma stabilisce un settore in memoria e lo prepara per la ricezione di dati da un socket . E poi chiama la funzione " recv ( )", che riceve i dati dal socket .