Sockets sont un moyen de transférer des données en utilisant les normes pour un descripteur de fichier Unix. Un descripteur de fichier Unix est un entier qui est associé à un fichier ouvert, et permet au système d'exploitation pour y accéder . Sous le système d'exploitation Unix , tout est fichier , même les connexions réseau. Sockets sont spécialisés pour les communications Internet . Lorsque vous utilisez prises dans votre programme, vous devez mettre en place un certain nombre d'octets à recevoir des données. C'est ce qu'on appelle un tampon. La fonction C + + " recv ( ) " permet de mettre en place une zone tampon pour recevoir des données à partir d'une prise de courant. Choses que vous devez
C + + environnement de développement intégré (IDE ), tels que Eclipse CDT
compilateur C + + , une telle GCC
Afficher plus d' instructions
1
charge l' C + + IDE en cliquant sur son icône du programme. Quand il s'ouvre, sélectionnez "Fichier /Nouveau /Projet " et choisissez " C + + Project " pour créer un nouveau projet C + + . Un fichier de code source vide apparaît dans la partie éditeur de texte de l' IDE
2
Ajoutez les deux directives "include" suivantes en haut du fichier de code source: . # Include < sys /types . h> # include
3 Familiarisez-vous avec la signature de fonction pour " recv ( ) . " les éléments entre parenthèses sont appelés paramètres , et ils sont généralement utilisé comme un moyen d' entrer des données dans une fonction . Le premier paramètre est " int s », qui renvoie à l' identificateur entier pour la prise que vous voulez recevoir les données. Le deuxième paramètre est un pointeur vers la mémoire tampon qui stocke toutes les données reçues , et le troisième paramètre est la longueur de la mémoire tampon en octets . Le quatrième et dernier paramètre est le paramètre " drapeaux " , ce qui peut modifier le comportement de la fonction . Le type de retour de cette fonction est " ssize_t », et il renvoie le nombre d'octets reçus , ou "-1" si une erreur survient .
Recv ssize_t (int s , void * buf, size_t len , int flags ) ;
4
créer un tableau de types "char" de données, qui sont garantis au moins un octet . La durée exacte dépend des spécificités de votre système , mais en général, un "char" est un octet, ou huit bits , long. Ecrivez ce qui suit pour déclarer un tableau de 256 types de données "char" :
char buffer
[ 256];
5
créer une variable qui stocke le nombre d'octets reçus . Il s'agit de la valeur retournée par la fonction " recv ()," et il est utile pour déterminer si le tampon est presque plein, ou si une erreur s'est produite. Ecrivez ce qui suit pour créer cette variable :
int reçu = 0;
6
connecter à l'emplacement réseau à l'aide d'une douille. Un socket est simplement un entier, et peut être déclaré comme ceci:
int socket ;
7
Invoke le " recv ( ) " fonction utilisant les variables déclarées jusqu'ici. Pour utiliser " recv ( ) " avec son comportement par défaut , définir l'indicateur de
reçu = recv ( socket, buffer , sizeof (buffer ) , 0) "0". ;
8 < p> compiler et exécuter le programme. Le programme met en place une zone de la mémoire et le prépare pour recevoir des données depuis une socket . Il appelle ensuite la fonction " recv ()» , qui reçoit les données de la prise .