Accueil > Forum > > > > Envoyer un image par winsock et UDP
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
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
FAIRE UN EXECUTABLEFAIRE UN EXECUTABLE par ossama261988
Cliquez pour lire la suite par ossama261988
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|