begin process at 2012 02 14 21:07:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Réseaux & Internet

 > 

Winsock

 > 

Envoyer un image par winsock et UDP


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

Envoyer un image par winsock et UDP

vendredi 6 avril 2007 à 10:48:23 | Envoyer un image par winsock et UDP

vincentvalentine

Bonjour,

je réalise un tchat en VB6. Je voudrai avoir la possibilité d'envoyé une image par le control Winsock et le protocol UDP.

Mon image serait chargé dans une zone image de ma form, puis un bonton envoyer déclencherai l'envoi vers mon correspondant. Celui-ci devrait recevoir l'image par winsock et udp, et elle serait transmise dans une zone image de sa form.

J'ai essayé un sendata tout bête, mais ça marche pas à cause de la taille de l'image.
Je sais qu'il faut découper l'image, car une trame IP est tout petit, mais je n'y arrive pas.
J'ai vu ce topic : http://www.developpez.net/forums/sho...=envoi+fichier sur developpez.com,
mais j'ai pas réussi avec cette méthode.
J'ai trouver aussi des codes sources (2) sur ce site, mais rien que j'arrive à adapter... Ou comprendre.

Je voudrait faire le plus simple possible, car je suis débutant en VB et j'ai plus beaucoup de temps devant moi. C'est un projet à rendre après les vacances.

Merci d'avance.
vendredi 6 avril 2007 à 13:32:17 | Re : Envoyer un image par winsock et UDP

Le cancre

Lu,
pour une bonne reception sans perte le mieux c'est d'utiliser TCP au lieu de UDP

voici un exemple qui découpe une image

' partie serveur

'index wsk 
   wsk(0) = pour le texte
    wsk(1) = pour l'image

Private Sub Command1_Click() 
   savepicture image1.picture,app.path & "/img.jpg"
   Doevents
   wsk(0).SendData "img" & filelen( app.path & "/img.jpg") 
   Doevents 
   Call Envoi_Img(app.path & "/img.jpg")
end sub

Public Sub Envoi_Img(Url As String)
   NewFile = FreeFile
   Open Url For Binary As #NewFile
   Nbr = LOF(NewFile) / 100000
   If Nbr <> Int(Nbr) Then Nbr = Int(Nbr) + 1
   
   For i = 1 To Nbr
        If i = Nbr Then temp = Space(LOF(NewFile) - (100000 * (i - 1))) Else temp = Space(100000)
        Get #NewFile, , temp
        DoEvents
        wsk(1).SendData temp 
  Next i
Close #NewFile
End Sub

' partie client

Dim Num As Integer, temp As Long,etat as long
.....

Private Sub WsK_DataArrival(Index as integer,ByVal bytesTotal As Long)
dim Msg
wsk(index).GetData Msg

select case Msg
   case "img":   temp = mid(msg,4) '<- taille de l'image qu'on doit recevoir
   case "txt" :    text1.Text = text1.Text &  Msg & vbcrlf 
   case Else
        If Num = 0 Then 
            Num = FreeFile 
            Open App.Path & "\screen.jpg" For Binary As #Num
         end if
            Put #Num, , msg
            Etat = Etat + bytesTotal :  DoEvents
        If Etat = temp Then
           Close #Num 
           Doevents
           img.Picture = LoadPicture(App.Path & "\screen.jpg")
           Num = 0: Etat = 0
        End If
end select

si tu comprends pas, fais moi signe...(sinon.....y'a peut etre des erreurs c'est du code ecrit comme ca sans etre testé avant) ..c'est la sub Envoi_Img qui t'interesse

vendredi 6 avril 2007 à 14:25:25 | Re : Envoyer un image par winsock et UDP

vincentvalentine

Merci beaucoup, je test ça rapidement pour voir. SI ça marche pas (ou mal), je te fais signe.
Merci.
mercredi 18 avril 2007 à 15:25:13 | Re : Envoyer un image par winsock et UDP

vincentvalentine

Bonjour,
désolé j'ai pas pu tester plus tôt (étude oblige).

Je ne comprend pas le début :

'index wsk 
   wsk(0) = pour le texte
    wsk(1) = pour l'image

C'est juste pour m'indiquer que tu utilises 2 sockets ??


mercredi 18 avril 2007 à 15:33:57 | Re : Envoyer un image par winsock et UDP

vincentvalentine

En faite, je comprends pas grand chose au code :/

Si j'ai bien compris, avant d'envoyer l'image tu la sauves (savepicture image1.picture,app.path & "/img.jpg"), puis tu l'envois, mais après qu'envois tu ?? J'avous être paumé...

S tu pouvais m'apporter plus de détails, ce serait vraiment sympa. Merci.
lundi 23 avril 2007 à 10:22:26 | Re : Envoyer un image par winsock et UDP

Le cancre

Lu vincentvalentine,

j'ai pour habitude d'utiliser plusieurs winsock, une pour envoyer des fichiers,l'autre pour envoyer des phrases(lors d'un tchat)...Etc

...après,

premiere etape : on enregistre l'image

on prend le fichier
....
call Envoi_Img(app.path & "/img.jpg",winsock1)
....

Public Sub Envoi_Img(Url As String,Wsk_DL as Winsock)
   NewFile = FreeFile
' on ouvre le fichier image
   Open Url For Binary As #NewFile
   Nbr = LOF(NewFile) / 100000
' on découpe l'image en paquets de 100ko
   If Nbr <> Int(Nbr) Then Nbr = Int(Nbr) + 1
   ' ici le Int permet d'arrondir la valeur de Nbr
   For i = 1 To Nbr
     ' si la taille nous permets, on rempli un paquet de 100ko de donnée dans notre temp
' sinon on rempli le restant des données inférieur à 100ko
        If i = Nbr Then temp = Space(LOF(NewFile) - (100000 * (i - 1))) Else temp = Space(100000)
        Get #NewFile, , temp
        DoEvents
' on envoi temp 
        Wsk_DL.SendData temp 
  Next i
Close #NewFile
End Sub

j'ai rajouté dans la procédure,un complément qui te permettra d'utiliser la wsk de ton choix lors de l'appel : call Envoi_Img(app.path & "/img.jpg",winsock1)

lundi 23 avril 2007 à 18:45:41 | Re : Envoyer un image par winsock et UDP

vincentvalentine

Merci, c'est un peu plus clair.
Je vais tester dès que j'aurai du temps.
A plus tart.


Cette discussion est classée dans : winsock, image, envoyer, zone, udp


Répondre à ce message

Sujets en rapport avec ce message

Comment envoyer une image par winsock ? [ par bigbang ] Regardez dans le titre !!!G bien vu la source de Macabey .. mais G rien pigé !!!merci de m'expliker plus simplement ....@+bigbang00@caramail.com ENVOYER UNE IMAGE PAR WINSOCK ????? [ par DeAtHCrAsH ] J'ai des src pour l'envoie d'image mais je n'y comprenais pas gd chose ...J'ai une picturebox avec une image dedans ( coté serveur) ; Coté client j'a COMMENT ENVOYER UNE IMAGE AVEC WINSOCK ... [ par DeAtHCrAsH ] En fait j'ai une picturebox avec une image loader a l'interieur ... J'aimerais ensuite pouvoir envoyer cette image un a PC distant,et que le PC distan Transfert d'image par Winsock [ par ICIoBRa ] Voila j'aimerai envoyer une image récupérée dans le ClipBoard, et l'envoyer par Winsock, et la récupérer une fois envoyée.Merci de vos réponses :]ICIo Transfert d'image par Winsock [ par ICIoBRa ] Voila j'aimerai envoyer une image récupérée dans le ClipBoard, et l'envoyer par Winsock, et la récupérer une fois envoyée.Merci de vos réponses :]ICIo je ve envoyer une image sur picturebox par winsock mais elle est volumineuse comment faire svp !!! [ par kapisko17 ] je ve envoyer une image dejas chargé dans le picture box pas winsock mais le probleme c'est que ça prend beucoup de temps et j'ai besoin de la compres Envoyer une image ligne par ligne via winsock [ par Tioneb ] Bonjour,Je n'arrive pas à trouver ce que je cherche sur vbfrance alors je m'adresse ici. Ce que je voudrais faire (c'est écrit dans le titre) c'est de Envoyer une image par winsock [ par hippo92210b ] Bonjour, Voila, je travaille sur une application de partage d'image, mais je bloque au niveaux du transfert (par winsock), voila mon code : FROM1 : Envoyer une image de Access vers entête ou pieds de page d'un doc Word automatiquement [ par GigaCool ] Bonjour à tous , J'aimerai savoir comment envoyer une image en entête ou pied de page de Access vers Word ! Merci à vous et bonne journée ! winsock UDP récuperer l'ip du client [ par totof784 ] Je souhaite récupérer l'adresse ip d'un client avec un serveur UDP. Le serveur recoit une donnée mais il ne sait pas qu'il la envoyée. Il y a bien que


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,328 sec (4)

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