send

Prototypes

int recv(int Socquette, char *Tampon, int Taille, int Options);

Description

Lit des informations depuis la socquette identifiée par Socquette.

Elles sont lues dans Tampon dans la limite de Taille octets.

Le résultat est 0 si l'opération a réussie.

Exemple

#include <stdio.h>
#include <socket.h>

int Socquette;
int SocquetteClient;
struct sockaddr_in Adresse;
int Taille;
char Buffer[100];

Taille=sizeof(struct sockaddr_in);
Socquette=socket(AF_INET, SOCK_STREAM, 0);
if (Socquette<0) ...
Adresse.sin_family=AF_UNIX;
Adresse.sin_port=(unsigned short)80;
Adresse.sin_addr.S_un.S_un_b.s_b1=(unsigned char)127;
Adresse.sin_addr.S_un.S_un_b.s_b2=(unsigned char)0;
Adresse.sin_addr.S_un.S_un_b.s_b3=(unsigned char)0;
Adresse.sin_addr.S_un.S_un_b.s_b4=(unsigned char)1;
...
if (bind(Socquette, (struct sockaddr *)&Adresse, Taille)<0) ...
if (listen(Socquette, 10)<0) ...
memset(&Adresse, 0, Taille);
SoquetteClient=accept(Socquette, (struct sockaddr *)&Adresse, Taille);
if (SocquetteClient<0) ...
memset(Buffer, 0, 100);
if (recv(SocquetteClient, Buffer, 100, 0)<0) ...
if (send(SocquetteClient, Buffer, 100, 0)<0) ...
if (shutdown(Socquette, 0x2)<0) ...

Avertissement

Bien s'assurer que la socquette a été correctement créée.

Si la socquette est en mode non bloqué et qu'il n'y a pas assez d'informations, alors le résultat -1 et errno vaut EWOULDBLOCK ou EAGAIN.

Voir aussi

socket pour créer une socquette. bind pour désigner l'adresse IP et le port cible. setsockopt pour fixer les options de la socquette. accept pour accepter un nouveau client. connect pour connecter la socquette. send pour écrire vers la socquette. shutdown pour fermer le socquette.