Socket

Résolu
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009 - 8 janv. 2005 à 17:41
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009 - 8 janv. 2005 à 23:59
salut j'éssais de fiare une petite application console sous vc++ qui permet à de machine de chater mais je n'arrive pas à faire du simultané.
ret=recv(client_sock,buffer,1024,0);
cette appel de fonction bloque mon programme et je suis à chaque fois oubligé d'attendre la réponse d'une machine avant de pouvoir envoyer mon message .j'aimerei pouvoir taper mon message même si le correspondant n'a pas envis de repondre tout de suit.

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 janv. 2005 à 18:11
Va voir les sources de aardman et les 2 dernieres de Arnotic, tu verras comment gerer avec un event. Bien entendu ce n'est pas console.

ciao...
BruNews, MVP VC++
3
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
8 janv. 2005 à 18:23
lilington> tu peux faire du mutli-threading pour résoudre le problême...

DWORD _stdcall SetServer(LPVOID pv) {

 while(1) {

    char buffer[1024];
    ZeroMemory(buffer, sizeof(buffer));

   recv(sock, buffer, 1024, 0);
   printf("Your friend> %s\r\n", buffer);    
  }
}

int main() {

// instructions...

DWORD tid;
CreateThread(0, 0, SetServer, (LPVOID) 0, 0, &tid);

while(1) {
 
    char buffer[1024];
    ZeroMemory(buffer, sizeof(buffer));

    scanf("%s", buffer);
    send(sock, buffer, 1024, 0);
    printf("Toi> %s\r\n", buffer);
   }
}


Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
3
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
8 janv. 2005 à 18:25
Salut,
En plus du modele WSAEventSelect cité par BruNews, il y a aussi le modele select() qui pourrait t'aider.
3
lilington Messages postés 158 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 12 mars 2009
8 janv. 2005 à 23:59
merci je vais tout tester
0
Rejoignez-nous