Envoi d'un fichier par winsock : problème! [Résolu]

Signaler
Messages postés
40
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
4 avril 2005
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour,

Pour envoyer un fichier par winsock, j'utilise la portion de code ci dessous :

Open Fichier For Binary Access Read As #1
LocalData = Space(LOF(1))
Get 1, , LocalData
Close #1
Call Winsock.SendData(LocalData)

Seulement, si mon fichier est trop gros, il n'est pas transmis entièrement.

1/ est ce normal?
2/ comment y palier?

Merci.

1 réponse

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
Salut
La réponse est sur le forum : fais une recherche.
En gros, c'est normal, les arrivées de données dans le winsock sont bufferisées, donc il ne reçoit que portion par portion --> à toi de connaitre la taille du fichier que tu reçois (il suffit que l'expéditeur te donne cette info avant l'envoi) et d'attendre que toutes les données soient arrivées pour les prendre en compte --> Il faut donc compter le nombre de caractères reçus et s'il est inférieur à la taille finale, stocker et attendre le reste.

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 150 internautes nous ont dit merci ce mois-ci