begin process at 2008 09 05 13:49:01
1 237 231 membres
186 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Thread et socket udp [ Archives / Réseau / Internet ] (eurysthe)

Thread et socket udp le 22/01/2004 17:50:26

eurysthe

Bonjour !!
Voila j'ai un petit problème de thread qui me pourrit la vie.
J'ai crée un thread qui doit écouter en boucle les informations qui transite sur un réseau avec le protocole UDP.
J'utilise la fonction recvfrom.
Le probleme c que cette fonction bloque le thread si rien n'est recu, en conséquend mon thread est bloqué en attente et je ne peux plus le killer....

comment faire ?? Merci

Re : Thread et socket udp le 22/01/2004 19:33:38

coockiesch
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???"

Re : Thread et socket udp le 23/01/2004 07:33:26

eurysthe

Je te remercie c cool..
je vais essayer ta solution et voir si elle fonctionne.
Que c plaisant d'avoir un petit coup de main venant d l'exterieur..

Je te tiens au courant

Re : Thread et socket udp le 23/01/2004 07:35:54

eurysthe
Tiens en relisant je vois que ce n'est pas tres bon ..
Le pb c que g besoin de faire transiter des infos tres rapidement pour faire du temps réel... 1 seconde d'attende c une éternité..

Re : Thread et socket udp le 24/01/2004 08:39:41

coockiesch
Salut!!!

1) Lors de l'intialisation de attendre, tu met ce que tu veux comme valeur en sachant que le premier param est des secondes et le deuxième des "micro"secondes. Plus le temps d'attente est petit, plus ton code utilisera des resources.

2) Je viens de vérifier, select est compatible avec recvfrom

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"


Classé sous : fonction, socket, thread, udp

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS