begin process at 2012 05 30 18:36:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

temps d'acces de lecture sur socket


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

temps d'acces de lecture sur socket

lundi 27 août 2007 à 13:24:37 | temps d'acces de lecture sur socket

LaTatadu91

Bonjour,

Voila je suis confronté a un probleme sur un programme de communications via tcp/ip.
Mon probleme est lié au fait que j'ai plusiseurs threads en meme temps pour lire sur différentes socket.
Et en effectuant des traces il arrive par moment que lors de ma lecture sur le thread je me retrouve avec 2 messages collés et je ne traite que le premier:
par exemple buffer de reception 01-msg-blablabla02-msg-bliblibli

moi je repere le 01 et traite le message 01 et du coup le message 02 passe a la trappe!
comment resoudre ce probleme ? a part en regardant si le buffer de reception est plus grand que ce que j'attends (taille de messages fixes donc)
et si oui, regarder si la suite de la trame ne correspond aps a un autre message....

 

lundi 27 août 2007 à 13:58:10 | Re : temps d'acces de lecture sur socket

vicenzo

Membre Club
Tu peux enchainer chaque transmission par un send /recv (envoi du message, attente acquittement).
 Comme ca aucun souci..
lundi 27 août 2007 à 16:29:16 | Re : temps d'acces de lecture sur socket

aardman

Membre Club
Salut,
Il faut avoir une vision plus générale du probleme (qui n'en est pas un): rien ne te dis qu'un send sur un socket provoquera un recv a l'autre bout du socket. Ca veut dire que tu peux recevoir un ou plusieur 'messages' lors d'un recv, voire même un morceau de 'message' incomplet. Ce concept de message n'existe pas au niveau TCP, c'est donc a ton application de gerer tout ca.
Généralement on envoie la taille du message avant celui ci ou alors on utilise des separateurs de messages (comme \r\n, utilise par plein de protocols de type texte). Mettre en place un systeme d'acquittement ca marcherait, mais ca ralentirait inutilement le prog.



lundi 27 août 2007 à 16:41:13 | Re : temps d'acces de lecture sur socket

LaTatadu91

yes effectivement, j'ai donc coder en qlq lignes si la taille du message reçu n'est aps celle attendu on decrypte la fin de la trame...
ca semble etre le mieux!
par contre heureusement je ne suis aps tomber sur un cas inverse avec un message incomplet. je ne peux aps faire du send receive car je ne peux pas faire un truc bloquant il faut que mon appli tourne meme si des messages n'arrivent pas ...
merci pr vos explications

 



Cette discussion est classée dans : message, lecture, probleme, temps, socket


Répondre à ce message

Sujets en rapport avec ce message

socket [ par ToToL ] Bonjoursj'ai un petit probleme de socket. en fait dans mon prog ( en win 32 ) j'envoi un message par internet a un autre programme toute les 20 milli socket [ par gaussdelphine ] J'essaye de programmer une socket em mode datagramme SOCK_RAW. J'ai le message d'erreur suivant à la compilation:sizeof applied to an incomplete type send bloquant ou pas bloquant ? [ par macros ] Voila mon problemeJe fais un client qui recoit les données d'un serveur et les renvoies sur une autre socket le tout en TCP. Le probleme est le sui Mettre un argument dans un thread... [ par ChrOnOs83 ] Bonjour à tous,J'ai de nouveau un petit probleme sur le quel je bloque...En faite je suis entrain de faire un chat multi-clients. Je passe par des soc prob socket [ par flatou ] salutj'ai créé une appli serveur, banale : un client se connecte, il envoi un message et le serveur affiche le message.j'ai utilisé cela pour la recep Son: demarrage lent. [ par Galmiza ] Salut,Probleme:Je lis des son wave avec DirectX, mais ceux-ci mettent du temps a se lancer.Je m'explique:J'initialise DirectSound, je charge le son (t Un probleme avec l'ouverture de plusieurs fichiers en meme temps en windows [ par glName ] Bonjour !J'ai un probleme pour ouvrir plusieurs fichiers à partir d'une boite de dialogue (je cherche une solution avec les MFC ou les API windows )Bi probleme socket sous windows XP [ par fr1man ] j'ai réalisé un "chat" avec les sockets en VC++6. il fonctionne très bien sous NT et 2000 mais pas sous XP. d'où vient le problème ?j'utilise l'API wi Recherche programme lecture Socket [ par DarknessLucifer ] Besoin d'un programme permettant de lire les informations Socket .. je travail sous windows.Si qq avait un programme fonctionnant je lui en serait tre probleme!..message "WINGDIAPI" [ par frysa ] Bonjour ! Je vien de débuter dans le c++ alors j'ai inslallé mon compilateur: turbo c++ 4.5. J'ai téléchargé Glut, et j'ai installé les .h dans le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 1,700 sec (4)

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