Salut!!!
J'ai eu le même problème mais avec la fonction recv, je vais te donner ma soluce et j'éspère qu'elle marchera aussi pour toi...
Il faut utiliser la fonction select:
int nRetour; fd_set fdsetRecv; timeval attendre = {1, 0}; // {sec, nSec} FD_ZERO(&fdsetRecv); FD_SET(sock, &fdsetRecv); // on a un SOCKET nommé sock
// On attend pdt 1 sec pr voir si des infos sont en attente de lecture sur le SOCKET. Ca agit comme un sleep, le main est rendue aux autres threads nRetour = select(FD_SETSIZE, &fdsetRecv, NULL, NULL, &attendre);
// si oui if(nRetour > 0) { // fais le recvfrom ici car des données demandent à etre lue }
// ici verif de fin de thread
|
Voila, j'éspère que ca pourra t'aider.
@++
R@f
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"