<Programation réseau> recvfrom ( ) après un select ()
<Programation réseau> recvfrom ( ) après un select () - C++ - Programmation
MarshPosté le 17-06-2010 à 11:03:15
Bonjour.
j'ai un soucis en programmation réseau. j'ai réalisé la connexion client serveur tout se passe bien , cependant pour la suite ... c'est pas encore ça .
j'ai ouvert une socket que j'appellerais " Socket1 "en émission réception , lorsque je fait les accept ( ) coté serveur , cela m'ouvre une nouvelle socket que j'appellerais " Socket2 " pour la connexion distante qui tentais de se connecter. Ensuite je fait un select sur "Socket 1" cela me retourne 2 . J'essaye donc de récupérer le message qui est envoyer et que le select a détecter, je fait donc un recvfrom avec la "socket1" mais a ce moment la ça me retourne -1.
j'ai donc fait un perror ( "recvfrom" ); et il me log: NO ERROR....
serais ce possible de m'expliquer où ce trouve mon erreur plz ?
Merci d'avance
voici plus concrétement le code:
Code :
while ( !bClose )
{
ID_IP.clear ( );
//Verouille le mutex
WaitForSingleObject ( myMutex, NULL );
//Recuperation des données des utilisateurs connectés
TheServer->Get_myID_Ip_User ( ID_IP );
//Lock le mutex
ReleaseMutex ( myMutex );
if ( !ID_IP.empty ( ) )
{
//Creation d'un iterateur au debut de la map
kstl::map < int, CONNEXION* >::iterator It = ID_IP.begin ( );
int iReceiveLenght = recvfrom ( mySocket, tab, 1024*10, 0, ( struct sockaddr* ) &SenderInfo, &lenght ); // mySocket correspond a la socket ouverte en emission reception sur le serveur ( TCP ) ( "Socket1" dans ma description )
Marsh Posté le 17-06-2010 à 11:03:15
Bonjour.
j'ai un soucis en programmation réseau. j'ai réalisé la connexion client serveur tout se passe bien , cependant pour la suite ... c'est pas encore ça .
j'ai ouvert une socket que j'appellerais " Socket1 "en émission réception , lorsque je fait les accept ( ) coté serveur , cela m'ouvre une nouvelle socket que j'appellerais " Socket2 " pour la connexion distante qui tentais de se connecter. Ensuite je fait un select sur "Socket 1" cela me retourne 2 . J'essaye donc de récupérer le message qui est envoyer et que le select a détecter, je fait donc un recvfrom avec la "socket1" mais a ce moment la ça me retourne -1.
j'ai donc fait un perror ( "recvfrom" ); et il me log: NO ERROR....
serais ce possible de m'expliquer où ce trouve mon erreur plz ?
Merci d'avance
voici plus concrétement le code: