Accueil > Forum > > > > Envoi fichier winsock ...pk sa marche po?
Envoi fichier winsock ...pk sa marche po?
jeudi 8 avril 2004 à 19:11:08 |
Envoi fichier winsock ...pk sa marche po?

nashoy
|
Salut à tous, j'ai cherché toutes les sources possibles sur vbfrance, je les ai analysées, et pis bon, j'ai tjs pas vraiment compris comment faire pour envoyer des fichiers. Vu que j'en ai besoin pour un programme que je suis en train de faire, j'ai cherché une source simple (je remercie l'auteur qui se reconaitra ) et j'ai essayé de l'inserer dans ma source. Mais voila, ça ne marche tjs pas comme voulu... C'est pk je vous demande a l'aide ... merci Voila ma source client :
Private Sub Command1_Click() MyPath = "c:\" ' Définit le chemin d'accès.
End Sub
Private Sub Command3_Click() Dim Ip As String
If Serveur.State <> sckConnected Then Serveur.Close Ip = InputBox("Veuillez entrer l'ip du pc distant(ou le nom d'hôte", "NaShOy", "")
Else: MsgBox "Vous êtes déjà connecté", vbExclamation, "NaShOy"
End If If Ip <> "" Then Serveur.Connect Ip, 5010
End Sub
Private Sub Serveur_DataArrival(ByVal bytesTotal As Long) Dim msg As String
Serveur.GetData msg
If Left(msg, 6) = "/FILE:" Then Pos1 = InStr(2, msg, "/") Fichier = CStr(Mid(msg, 7, Pos1 - 7)) rep = MsgBox("Le serveur essaie de vous envoyer le fichier : " & Fichier & vbCrLf & "Voulez-vous le recevoir ?", vbYesNo + vbQuestion + vbSystemModal, " Transfert de fichier") If rep = vbYes Then ' Envoi accepté Temp = CDbl(Right(msg, Len(msg) - Pos1)) ' Taille du fichier dans Temp Serveur.SendData "/ACCEPT" ' On envoie la réponse au serveur Else Serveur.SendData "/REFUSE" End If Else
If Num = 0 Then ' Début de l'envoi du fichier Num = FreeFile ' Numero de fichier libre Open "c:\fichier.ext" For Binary As #Num Put #Num, , msg ' Début d'écriture Else Put #Num, , msg End If Etat = Etat + bytesTotal ' Taille des données reçues DoEvents If Etat = Temp Then
Close #Num ' Ferme le fichier Num = 0 Etat = 0 End If
End If
End Sub
Private Sub TmrEtat_Timer()
Select Case Serveur.State Case 0 LblEtat.Caption = "Déconnecté" Case 7 LblEtat.Caption = "Connecté" Case 4 Serveur.Close End Select
If Serveur.State <> sckClosed Then If Serveur.State <> 7 Then Serveur.Close End If
End Sub
|
Enfait le client se connecte au serveur, et le serveur renvoi le listage. Et voici le code serveur :
Private Sub Client_Close()
Client.Close Client.Listen
End Sub
Private Sub Client_ConnectionRequest(ByVal requestID As Long) Client.Close Client.Accept requestID End Sub
Private Sub Client_DataArrival(ByVal bytesTotal As Long) ' On récupère la réponse envoyé par le serveur dans une variable de ' type String.
Client.GetData msg, vbString
Select Case msg Case "/REFUSE" ' Réponse - Case "/ACCEPT" ' Réponse + Call SendFile End Select End Sub
Private Sub Command1_Click() MyPath = "c:\" ' Définit le chemin d'accès. Charge 'Charge2 End Sub
Private Sub Command3_Click() For p = Len(txt_file) To 1 Step -1 If Mid(txt_file, p, 1) = "\" Then Exit For Next p ' Syntaxe d'envoi de fichier > "/FILE:NOM_DU_FICHIER/TAILLE Client.SendData "/FILE:" & Right(txt_file, Len(txt_file) - p) & "/" & FileLen(txt_file)
End Sub
Private Sub Form_Load() Client.Close Client.Listen End Sub
Private Sub List1_DblClick() Dim Dossier As String
Dossier = List1.List(List1.ListIndex) 'renvoi le txt,tandis que list1.listindex renvoi le num de l'item
If Right$(MyPath, 1) <> "\" Then MyPath = MyPath & "\" End If MyPath = MyPath & Dossier & "\"
List1.Clear
Text1.Text = MyPath 'pour récupérer le contenu de la variable dans Charge2
Charge
Charge2
End Sub
Private Sub TmrListen_Timer() If Client.State <> 2 Then '2 = scklistening If Client.State <> sckConnected Then Client.Close: Client.Listen End If End Sub
Public Sub Trie() Dim Pos1, Pos2 As Integer Dim Index As Integer Dim Inhalt_List1 As String
Inhalt_List1 = List1.List(0)
Index = 0 Pos1 = InStr(1, Inhalt_List1, "R")
Do Pos2 = InStr(Pos1 + 1, Inhalt_List1, "R") ' Ausstieg If Pos2 = 0 Then List1.List(Index) = Mid(Inhalt_List1, Pos1 + 1, Len(Inhalt_List1) - Pos1) Exit Do End If List1.List(Index) = Mid(Inhalt_List1, Pos1 + 1, Pos2 - Pos1 - 1) Index = Index + 1 Pos1 = Pos2
Loop
List1.List(0) = Replace(List1.List(0), "R", "")
End Sub
Public Sub Charge2()
Dim Répertoire As String Dim FichierTrouvé As String
List2.Clear
Répertoire = Text1.Text FichierTrouvé = Dir(Répertoire & "*.*")
While FichierTrouvé <> "" Text1.Text = Text1.Text & vbCrLf & FichierTrouvé FichierTrouvé = Dir() 'client.SendData "F" & FichierTrouvé Wend
End Sub
Public Sub Charge() MyPath = "c:\" ' Affiche les noms dans C:\ représentant des ' répertoires.
' Extrait la première entrée. MyName = Dir(MyPath, vbDirectory) Do While MyName <> "" ' Commence la boucle. ' Ignore le répertoire courant et le répertoire ' contenant le répertoire courant. If MyName = "." Then If MyName = ".." Then MyName = "Retour" List1.AddItem MyName End If Else
' Utilise une comparaison au niveau du bit pour vérifier que MyName est un répertoire. If (GetAttr(MyPath & "\" & MyName) And vbDirectory) = vbDirectory Then 'client.SendData "R" & MyName ' Affiche l'entrée uniquement si elle représente un répertoire. End If End If MyName = Dir ' Extrait l'entrée suivante. Loop
End Sub
Public Sub SendFile()
' Envoi du fichier
qnr = FreeFile ' Numéro de fichier libre
Open txt_file For Binary As #qnr ' Affichage du statut Envoie = True ' On découpe le fichier en parties de 100 KO pour accélérer l'envoi du fichier nb = LOF(qnr) / 100000 If nb <> Int(nb) Then nb = Int(nb) + 1 ' On crée une boucle qui envoie les parties de 100 KO au client For i = 1 To nb If i <> nb Then ' Préparation du tampon pour les parties de 100 ko temp$ = Space(100000) Else ' Préparation du tampon pour le reste du fichier temp$ = Space(LOF(qnr) - (100000 * (i - 1))) End If Get #qnr, , temp$ ' Lecture du fichier dans le tampon DoEvents ' Rend la main à windows Client.SendData temp$ ' Envoie les données Next i Close #qnr ' Fermeture du fichier
End Sub
|
Voila ... donc je remercie d'avance les personnes qui auront la bonté de m'aider    nashoy 
|
|
dimanche 11 avril 2004 à 22:07:55 |
Re : Envoi fichier winsock ...pk sa marche po?

nashoy
|
C'est bon, j'ai compris mon erreur, enfin pas vraiment l'erreur mais j'ai trouvé une autre maniere de faire.  nashoy 
|
|
jeudi 10 juin 2004 à 14:52:15 |
Re : Envoi fichier winsock ...pk sa marche po?

Hteamspy
|
Salut, si ta trouvé la solution et que tu repasse par la là, tu pourrait mettre la source en visu ou par zip sur le site stp.
Merci beaucoup
Nicolas ( nicolas.alpi@laposte.net )
|
|
jeudi 10 juin 2004 à 15:00:53 |
Re : Envoi fichier winsock ...pk sa marche po?

nashoy
|
Salut Nicolas, Et bien en fait je vais te donner la source à partir de laquelle je me suis inspiré (encore merci à l'auteur) : Voilà le lienBonne chance,  nashoy 
|
|
vendredi 11 juin 2004 à 09:20:34 |
Re : Envoi fichier winsock ...pk sa marche po?

Hteamspy
|
Super, je vais maté ça.
Merci beaucoup
Nicolas
|
|
Cette discussion est classée dans : fichier, end, serveur, client, list1
Répondre à ce message
Sujets en rapport avec ce message
Socket [ par yvesyves ]
Bonjour,J'ai créé un serveur et un client. Le serveur un TcpClient envoie un fichier au client par bloc de 102400 octets.Voilà comment je fais pour fa
client serveur connection ! [ par jackky ]
bonjour a vous!surement quelqu'un sera a la hauteur pour me fournir une reponse a cette question! Comment peut-on savoir ce qu'un fichier ser
Winsock avec internet [ par gregmena ]
GREG_SIDIUSBonjour à tous, je viens de commencer à programmer avec le contrôle Winsock et j'ai un problème. Le voici :je viens
Internet et Winsock [ par gregmena ]
GREG_SIDIUSBonjour à tous, je viens de commencer à programmer avec le contrôle Winsock et j'ai un problème. Le voici :je viens de
Envoi fichier winsock ... [ par nashoy ]
Bonjours à tous,donc voilà, ça fait mnt plusieurs jours que je cherche comment envoyer simplement (enfin le stricte nécessaire) un fichier d'un winsoc
téléchargement de fichier winsock [ par consiliblob ]
Lu,J'ai créé un client et un serveur avec winsock, et à un moment quand j'essaye d'envoyer un fichier depuis le client au serveur (avec une connexion
Des mots des mots encore des mots y en a marre! [ par CCJ ]
Salut a tous j'espere que vous etes pas aussi debutant que moi sinon vous pourez pas m'aider.Le probleme est que je ne pige pas la moitié(pour etre ge
probleme avec udp [ par nesquik06 ]
Bonjour, j essaie de faire fonctionner un client serveur simple avec udp,il n y a rien a faire voila mon code serveur : procedure TForm1.ServeurStatus
probleme avec udp [ par nesquik06 ]
Bonjour, j essaie de faire fonctionner un client serveur simple avec udp,il n y a rien a faire voila mon code serveur : procedure TForm1.ServeurStatus
transfert fichiers serveur-client [ par idelphonse ]
bonjour, J'ai un grand problème. j'utilise un serveur ftp(serv U)pour des transferts de fichiers avec mes clients. il se fait que quand je leur envois
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|