 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
seb Guest
|
Posted: Tue Aug 19, 2003 8:56 am Post subject: petit probleme |
|
|
bonjour,
je sais que ce n'est pas le bon groupe mais je desespere de n'avoir
pas encore de solution au probleme qui vient.
je developpe une appli Client/Server sous win98 se et Visual C++ 6.0.
je dois faire du transfert de fichier (de taille variable 500Kb a
50Mb+).
j'ai decide d'utiliser les sockets asynchrones (class CAsyncSocket).
le transfert de fichiers se fait par packets de taille fixe (0x1000
bytes).
pour chaque packets, j'ai une petite entete utile (numero packet
transmis, crc, ...).
j'utilise la fonction Send() de CAsyncSocket pour la transmission. A
reception de l'error WSAEWOULDBLOCK, je pose mes donnees dans une
file.
la creation de la socket est faite pour default (... | FD_WRITE |
....), ainsi
des que la socket est dispo en ecriture, l'appel a la fonction
OnSend() est
effectue, et je transmets les elements de la file.
le probleme: les packets recus par le serveur sont dans le desordre,
pourquoi???
merci pour vos reponses.
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
|
| Back to top |
|
 |
Guillaume Gourdin Guest
|
Posted: Tue Aug 19, 2003 8:59 am Post subject: Re: petit probleme |
|
|
HS ici.
Mais si justement tu utilises des CAsyncSocket, rien ne te garanti l'ordre
d'arrivée des paquets. Utilise ton header pour stocker l'ordre de tes
paquets ou alors utilise la classe CSocket.
"seb" <sebastien.brejotbarsacq (AT) acmetec (DOT) fr> a écrit dans le message news:
[email]687820db.0308190056.45ff210b (AT) posting (DOT) google.com[/email]...
| Quote: | bonjour,
je sais que ce n'est pas le bon groupe mais je desespere de n'avoir
pas encore de solution au probleme qui vient.
je developpe une appli Client/Server sous win98 se et Visual C++ 6.0.
je dois faire du transfert de fichier (de taille variable 500Kb a
50Mb+).
j'ai decide d'utiliser les sockets asynchrones (class CAsyncSocket).
le transfert de fichiers se fait par packets de taille fixe (0x1000
bytes).
pour chaque packets, j'ai une petite entete utile (numero packet
transmis, crc, ...).
j'utilise la fonction Send() de CAsyncSocket pour la transmission. A
reception de l'error WSAEWOULDBLOCK, je pose mes donnees dans une
file.
la creation de la socket est faite pour default (... | FD_WRITE |
...), ainsi
des que la socket est dispo en ecriture, l'appel a la fonction
OnSend() est
effectue, et je transmets les elements de la file.
le probleme: les packets recus par le serveur sont dans le desordre,
pourquoi???
merci pour vos reponses.
|
|
|
| Back to top |
|
 |
seb Guest
|
Posted: Thu Aug 21, 2003 6:49 am Post subject: Re: petit probleme |
|
|
"Guillaume Gourdin" <toto (AT) toto (DOT) com> wrote
| Quote: | Mais si justement tu utilises des CAsyncSocket, rien ne te garanti l'ordre
d'arrivée des paquets. Utilise ton header pour stocker l'ordre de tes
paquets ou alors utilise la classe CSocket.
|
merci guillaume,
ok pour le header,
sinon la classe CSocket garantit l'ordre des envois et des receptions ??
le send et le read non bloquant??
|
|
| Back to top |
|
 |
drkm Guest
|
Posted: Thu Aug 21, 2003 7:16 am Post subject: Re: petit probleme |
|
|
[email]sebastien.brejotbarsacq (AT) acmetec (DOT) fr[/email] (seb) writes:
| Quote: | "Guillaume Gourdin" <toto (AT) toto (DOT) com> wrote in message
news:<bhsovh$13em$1 (AT) news5 (DOT) isdnet.net>...
|
[...]
[...]
| Quote: | l'ordre des envois et des receptions
|
[...]
[...]
[...]
HS.
--drkm
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|