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
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
transfert de 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
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
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
|