1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| void receive(gpointer donnees)
{
data* pData = donnees;
printf("VerifConnect = %d\n",pData->verifConnect);
if ( pData->verifConnect == 1 )
{
fd_set rfds;
struct timeval tv;
int retselect;
char buffer[127];
printf("Deb fonction\n");
FD_ZERO(&rfds);
FD_SET(pData->maSocket,&rfds);
memset(&tv, 0, sizeof(tv));
retselect = select((pData->maSocket) + 1,&rfds,NULL,NULL,&tv);
printf("retselect : %d\n",retselect);
if ( retselect > 0 )
{
int recsize = recv(pData->maSocket,buffer,127,0);
if ( recsize > 0)
{
printf("%d octets reçus : %s\n",recsize,buffer);
}
else
{
if ( recsize == 0 )
{
printf("Fermeture socket...\n");
shutdown(pData->maSocket,2);
closesocket(pData->maSocket);
pData->verifConnect = 0;
}
else
{
perror("recv()");
}
}
}
}
} |
Partager