Communication Client/Serveur ! Ou es le problème ?

QuakeCoder Messages postés 17 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 10 août 2005 - 10 août 2005 à 13:16
QuakeCoder Messages postés 17 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 10 août 2005 - 11 août 2005 à 19:44
Je recentre fréquemment un problème avec l’utilisation de
socket et la communication entre Client/Server.








Prenant un exemple de ma dernière application de transfert
de fichiers.




Apres connexion, le serveur envoi le nombre de fichiers qui
vat transférer au client.




Puis il entre dans une boucle (tanque le nombre de fichier n’est
pas Null), et envoi ensuite le nom du fichier puis sa taille et après commence
à lire 1024 octet et les envoi au client jusqu à la fin du fichier et ainsi de suite ….




Le problème c’est que ça marche nickel sur le réseau local. Et
parfois sur le réseau Internet ça bug ! Le client ne reçoit pas ce q’il
doit recevoir.




c-a-dire, il reçoit parfois le nom du fichier mixer avec
autre chose, ou il reçoit correctement le nom du fichier mais pas sa taille ….




Et je règle le problème juste en mettant un Sleep(500) au
niveau du serveur après chaque envoi complet d’un fichier.







Quelqu’un a rencontrer la même chose que moi ?

10 réponses

xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
10 août 2005 à 13:34
connexion TCP ou UDP ?

Cordialement,
Xterminhate.
0
QuakeCoder Messages postés 17 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 10 août 2005
10 août 2005 à 13:39
Oui TCP
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
10 août 2005 à 13:40
Bizarre... donne du code.

Cordialement,
Xterminhate.
0
QuakeCoder Messages postés 17 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 10 août 2005
10 août 2005 à 13:51
Mon code est trop long :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aabdoos Messages postés 39 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 septembre 2008
11 août 2005 à 06:01
hi amigo c evidant ....(^__^) pense logiquement .lorsque vous mettez le sleep ca marche bien...non?...c ca se que vous avez dit...ehh ben mon vieux quant tu envoi un paquet tcp il lui faut du temp pour traverser le chemain jusqu'a la destination et il traverse pas male de passrelle dans sont chemain ce qui peut le retarder un peut alors si tu boucle et tu envoi t paquet a la vitesse max de votre machine (cad sans metre de sleep(500)) alors les paquet risque de se bousculer dans le resaux (et sachant que tout les paquets ont le meme deleay TimeOut) alors sa peux coser la perte de quelque paquet...donc l'idee de metre un sleep(500) et l'ideale CAPICHE...(^__^)
a+
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
11 août 2005 à 08:31
Aabdoos > Ignorant. TCP gère justement tous ces problemes de connexion réseau, par définition (réémission, acquittement, etc...). Ca aurait été UDP, je serais un peu d'accord et encore....

RocketJumpCoder () > Lorsque tu send() au niveau du serveur, les octets sont ils bien tous envoyés (teste la valeur de retour).

Cordialement,
Xterminhate.
0
QuakeCoder Messages postés 17 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 10 août 2005
11 août 2005 à 15:02
Oui le Serveur fait bien son travail ...
0
aabdoos Messages postés 39 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 septembre 2008
11 août 2005 à 17:01
alors si comme vous dite le tcp gere c probleme de resaux dans les couches inferieur alors il est fort possible que le port que vous utilisez est utilise par une autre soket d'1 autre processus verifier le port que vous avez configurer votre serveur d'y ecouter
a+
0
QuakeCoder Messages postés 17 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 10 août 2005
11 août 2005 à 19:42
le port c'est pas le probleme. si j'avais choisi un port deja utilisé alors j'aurais meme pas de connexion ...
0
QuakeCoder Messages postés 17 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 10 août 2005
11 août 2005 à 19:44
Si quelq'un peut me trouver un code complet de transfert de plusieurs fichiers par socket . non ?
0
Rejoignez-nous