je voudrais pouvoir envoyer des fichiers grace a winsock
mais je ne c pas comment fair
quelqu'un peut m'aider ??
merci !
@+
je voudrais pouvoir envoyer des fichiers grace a winsock
mais je ne c pas comment fair
quelqu'un peut m'aider ??
merci !
@+
La fonction Rechercher ne fonctionne plus ?
Voici un exemple : http://drq.developpez.com/vb/tutorie...sock/index.htm
c pas un mail que je veut envoyer
c des document , style word etc....
et j'ai rechercher avant , mais aucun sujet de ce type(ou alors g mal vue !!!!!!! )
merci !!!
tu veux l'envoyé a qui et par quel protocole
parce qu'envoyé un fichier d'un ordi a un autre sur un reseau local tu peux faire du copier coller
si c'est en externe via internet par exemple il te faut un serveur, un port, et les winsocks
précise donc un peu ton probleme
tomnie ! elle a dit par le controle WINSOCK que ce soit sur un résaux interne ou externe ca reste winsock ! lol et même si il y a un autre moyen, elle veut savoir cmt faire avec le controle winsock faut pas éssayer de contourner le probleme quoi merde lol
Pour répondre au message : je te propose de lire le fichier en binaire et d'envoyé le contenu de la variable après chaque lecture ensuite tu reconstitue le fichier sur le post client.
Le réseau c'est du réseau et les winsocks ceux sont les winsocks. Dans mon tuto j'ai pris comme exemple la base du protocole SMTP et POP3. Après c'est à toi de connaître le protocole réseau à utiliser et à l'adapter. J'ai jamais que mon tuto était la solution à ton problème, mais plutôt une explication sur le fonctionnement des winsocks.Envoyé par CYFL
MODERATION : [cafeine] merci d'utiliser les balises [ code ] [ / code ]
Salut,
Tu initialise ton winsock, et une chaine : Dim strRecue As String (en global)
Si le fichier à envoyer n'est pas plus grand qu'un type String,
Tu ouvres ton fichier et tu rempli ta chaine avec,
Pour envoyer le fichier :
de l'autre coté, pour la récéption, dans DataArrival, tu concatène
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TonWinsock.SendData TaVariableString TonWinsock.Close
et dans l'évènement Close du Winsock, tu sais que la transmission
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim strData As String TonWinsock.GetData strData$ strRecu$ = strRecu$ & strData$
du fichier est finie donc tu transfère la chaine reçue (strRecue) dans
un fichier sur ton disque, avec l'extension du type du fichier envoyé
par l'autre poste.
toujours dans l'évènement Close, tu vide ta chaine reçue :
Mais bon, tu ne veuw pzut être pas couper la connection après le
Code : Sélectionner tout - Visualiser dans une fenêtre à part strRecue=""
transfère ? Dans ce cas utilise un marqueur de fin de transmission, genre une chaine de texte.
A l'envoi :
Dans DataArrival :
Code : Sélectionner tout - Visualiser dans une fenêtre à part TonWinsock.SendData TaVariableString & "FINDETRANSMISSION"
Tu es obligé de chainer les chaines reçues car la taille des paquets
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Dim strData As String TonWinsock.GetData strData$ ' On chaine les données reçues strRecu$ = strRecu$ & strData$ ' On test si la transmission est finie If InStr(strRecu$, "FINDETRANSMISSION") Then ' On copie la chaine reçue dans une autre chaine, pour libérer au plus ' vite la chaine buffer (argStr$ est globale comme strRecue) argStr$ = strRecu$ ' Et on vide le buffer de reception pour une nouvelle transmission strRecu$ = "" ' on enlève le marqueur de fin de transmission argStr$ = Replace(argStr$, "FINDETRANSMISSION", "") ' et on appelle la procédure de traitement des receptions ' c'est là que tu vas enregistrer le fichier sur le disque par exemple triReception argStr$ ' Et on vide la chaine temporaire argStr$ = "" endif
IP est limitée et donc ton winsock reçoit en plusieurs paquets ton fichier s'il est plus gros que la taille d'un paquet IP (1,5Ko environ je crois). Donc l'évènement DataArrival de ton winsock est déclenché plusieurs fois pour la récéption d'un même envoi.
Voila, pas sur que je sois clair, en tout cas je fais comme ci dessus
dans un soft de tchat, vu qu'avec le texte je peux transférer des
images dans la conversation et ça fonctionne très bien (si tu veux
voir le résultat http://directchat.free.fr)
@+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager