bonjour tout le monde,

maitenant je j'arrive a envoyer des donnée avec mes sockets, j'aimerais traiter le retour.

pour cela j'ai créé la fonction suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
//PACKET_SIZE 1024
struct sockaddr_in sock_rcv;
 
bool reception_Socket()
	{
		bool tempo = false;
		int result;
 
		//déclarration d'un buffer stockant l'ensmble des données (entête IP et ICMP)
		char buffer[PACKET_SIZE];
		int fromlen = sizeof(sock_rcv);
 
		result = recvfrom(socketRaw, (char *)&buffer, PACKET_SIZE, 0, (struct sockaddr *)&sock_rcv, &fromlen);
		if(result != SOCKET_ERROR)
		{
			tempo = true;
		}
		return tempo;
	}
apres un envoie de donné, je fais appel a cette fonction afin de récupérer le retour (ICMP) mais la tout s'arrete sur l'appel a la fonction recvfrom(). j'ai appercu cela en mode débogueur, mais pourtant j'ai bien un retour. Ce retour est observé avec ethereal.

Je ne comprend pas pourquoi ma fonction attend inéfiniment alosr que le retour du paquet c'est bien réalisé!!!

si vous avez une explication a me fournir ou une piste d'aide, je suis preneur.

merci d'avance.