begin process at 2012 05 29 15:34:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

un petit conseil pour winsock


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

un petit conseil pour winsock

lundi 1 mars 2004 à 16:58:53 | un petit conseil pour winsock

Hell Dom

je suis actuellement en stage et je doit déveloper une applic client/serveur...
Je veux travailer avec des threads est des sockets synchrones
(car je suis plus a l'aise que dans la programmation des sockets asynchrones, Oui monsieur j'ai été nourris au sein unix)

j'utilise la classe SOCKET (légèrement enrobé) car selon mon bouquin
(atelier visual c++ 6.0) la classe Csocket contient des résidu de win 16...

ca c'était pour l'intro...


Si je fait 2 send succesif coté serveur, j'ai des problèmes lors des recv cotés client bla bla bla vous voyez ce que je veux dire...

Deux idées me viennent a l'esprit pour solutionner le problm:

- 1 Utilisation d'ack applicatif(mon boss a pas l'air chaud)

- 2 Faire des recv de 1 et scrupter après mes séparateurs
(tous mes msg termine par un caract. #)


La solution 1 double mon nbre de msg

La solution 2 (ben si j'ai un msg de 5000 bytes, faire 5000 fois appel a la fonction recv me parrait pas inteligent point de vue performance)

Voilà j'aimerais votre avis sur la question, solution1, 2 ou autres ?

Merci d'avance pour vos réponses
lundi 1 mars 2004 à 17:16:57 | Re : un petit conseil pour winsock

aardman

Membre Club
Salut,
"j'ai des problèmes lors des recv cotés client bla bla bla vous voyez ce que je veux dire..."
non? explique les.
lundi 1 mars 2004 à 22:35:29 | Re : un petit conseil pour winsock

Hell Dom

bonsoir,

dsl pour le blabla, je m'explique.
Si je fait du côté du serveur, 2 send et que j'envoi "SALUT "+"MEC". Du coté du client mon premier recv recoit "SALUT MEC" et mon second rien

-->En TCP, tout ca est parfaitement normal, car TCP est un protocol dit "de flux".<-- je suis vraiment tombé sur le bon gars car cette phrase est de toi


Les msg que je reçois sont de tailles différentes. Donc je me demandais quelle était la meilleure solution (voir 1er post) pour éviter que je lise 2 msg à la fois.


voilà j'espère avoir été plus clair


lundi 1 mars 2004 à 23:03:13 | Re : un petit conseil pour winsock

aardman

Membre Club
Salut,
si tu veux 2 send = 2 recv, il faut utiliser le protocol UDP.
En TCP, il faut se debrouiller autrement.
Puisque tes messages se finissent tous par un caractere special cela ne devrait pas etre trop dur d'extraire chaque message du buffer de reception et de traiter le tout.
Une autre solution serait de reserver les 4 premier octet d'un message pour y spécifier la taille du paquet. Cela me semble plus facile pour savoir si on a recu un seul paquet ou plusieurs.

Moi je ferais comme ca:
coté client, tu appeles une fois recv, ensuite tu analyses ce que tu as recu pour determiner combien de messages tu as recu. Si tu n'en as recu qu'un, il faut reappeler recv, si tu as recu les 2, il faut les extraires du buffer et les traiter séparement.
mardi 2 mars 2004 à 01:24:21 | Re : un petit conseil pour winsock

Hell Dom


OK, merci ca ma donnée quelques idées


Cette discussion est classée dans : winsock, msg, conseil, recv, bla


Répondre à ce message

Sujets en rapport avec ce message

Problème de recv avec winsock [ par leptidev ] Voila, j'utilise winsock2.h, en C, et mon serveur et sous VB, bon, le problème et que quand je fais appel à recv, il attend des données, existe t'il utilisation de recv(...) de winsock [ par siam ] la fonction recv(...) bloque mon appli tant qu'elle n'est pas validée par une reception de données.comment puis je configurer mon appli pour ne pas at probléme soket avec la fonction recv [ par chrno84 ] Bonjour, je pense avoir un probléme avec ma fonction recv, en effet elle me retourne la valeur -1, mon send fonctionne bien (retourne une valeur >0) j api windows RegisterHotKey recuperer l'id [ par Derto ] Bonjoursvoici mon code#include int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmd, int show){       RegisterHotKey(0 ,1 ,MOD_ALT ,0x42);   Besoin de conseil pour un projet perso de logiciel [ par dth_2003 ] Bonjour a tous,Je me permet de vous déranger pour une question pas précise du tout, elle plutôt d'ordre très génrale, en somme j'ai besoin de vos cons Problème client/serveur -> flux du recv avec un air d'extraterrestre [ par thispawn ] Bonjour j'ai codé un système client serveur. Dès que le client arrive a se connecter il envoi avec 3 send ceci : format B ou D | taille du buffer | bu conseil avant de se lancer dans l'e API windows [ par creepx ] bonjours,je voulais demander au personnes qui connaisse bien l'API windows et language caprés avoir fais un tour sur le c et que j'aimerais maintenant évenement MouseOut ? [ par steph12358 ] BonjourEn utilisant un TApplicationEvent:Dans un Form1 je positionne un bool à vrai quand l'utilisateur clique sur Image1 (un TImage, évènement OnMous


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 8,096 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales