les joies de l'udp [C] - Programmation
Marsh Posté le 26-09-2003 à 12:13:23
y'a une section programmation regarde bien ...
Marsh Posté le 26-09-2003 à 12:19:26
j'ai bien regardé dans os alternatif code& script c ce qui rapproche le plus
Marsh Posté le 26-09-2003 à 12:40:21
http://forum.hardware.fr/forum1.ph [...] ce=&cat=10
Ben c'est du C ton language donc c'est pas trop du scripting...
Va voir sur la section programmation...
Marsh Posté le 26-09-2003 à 14:46:18
ça a plus sa place en prog ce problème.
Pour répondre à ta question, si tu veux écouter sur un port et faire autre chose pendant ce temps là, il me semble (mes cours de prog sys sont loin ) que tu n'as pas d'autre choix que de forker.
Marsh Posté le 26-09-2003 à 14:48:06
forker ou threader
enfin bon jai aussi posé ma question dans le truc prog
du coup jrepose aussi ma question ici, qqun connait une bonne doc sur le thread en C ? ou meme en C++ maintenant que jmy met?
Marsh Posté le 26-09-2003 à 20:00:38
http://www.ecst.csuchico.edu/~beej/guide/net/ ça pourrait peut-être t'aider
Pour l'avoir utilisé, je trouve son guide plutôt bien fait...
Krakraille
Marsh Posté le 26-09-2003 à 20:04:33
2 choix:
- threads
- architecturer ton appli autour d'un boucle d'evenements basée sur l'appel systeme posix select.
Marsh Posté le 26-09-2003 à 12:07:44
voila j'ai un appli en C qui envoie une requete udp en broadcast, jusque la pas de probleme. mais pour la reception je bloque un peu. c'est presque + de l'algo qu'autre chose mais jy connais rien en prog rezo
donc pour la reception le probleme c'est que je peux tres bien avoir entre 0 et xxx réponses. j'envoie ma requete udp et tout les postes succeptible d'y repondre le font. donc j'ai vraiment aucun moyen de savoir combien de reponse je vais avoir.
Alors je bloque sur le fait que des que je lis sur le socket pour voir si jai une reponse, ça bloque tout. si jai qqchose ça passe tout de suite c'est bon, mais sinon je dois attendre un timeout. si je me 2s pour le timeout c'est sympa, mais 2s par lecture du socket ça devient vite lent.
alors ya tils une methode genre non bloquante pour les sockets udp? dois-je forcement utiliser un thread ou un fork pour ecouter en permanance?
juste histoire d'avoir vos avis
c'est pour un soft qui detecte les serveurs de jeux en lan, genre counter etc pour leur faire la peau