Bonjour a tous et a toutes,
cela fait plusieurs semmaines que je voudrais faire une appli, qui transfert des fichier d'u, Pocet PC a un serveru FTP. (le tout en vb.net)
J'ai créer le code suivant
Imports
System
Imports System.Text
Imports System.Text.Encoding
Imports System.Net
Imports System.Net.Sockets
Imports System.IO
PublicClass Form1
Dim vc_SocData As Socket
Dim vc_socket As Socket
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim v_connect As IPEndPoint
Const BLOCK_SIZE = 10240
Dim v_buffer(BLOCK_SIZE) AsByte
Dim v_CodeRetour AsInteger
Dim v_chemin AsString
Dim vc_fichier As FileStream
Dim vc_LecFic As BinaryReader
Dim v_bit As Int32
Dim v_i AsInteger
v_i = 0v_connect =
Nothing
vc_SocData = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)vc_socket =
New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
v_connect = New IPEndPoint(Dns.Resolve(Mon serveur).AddressList(0), 21)
vc_socket.Connect(v_connect)If vc_socket.Connected Then
MessageBox.Show("connecter")MessageBox.Show(
"Envoi USER")Dim vc_commande AsByte() = ASCII.GetBytes("USER NomUtilisateur" & ControlChars.CrLf)
v_CodeRetour = vc_socket.Receive(v_buffer)
vc_socket.Send(vc_commande)
v_CodeRetour = vc_socket.Receive(v_buffer)
MessageBox.Show(v_CodeRetour)
MessageBox.Show("Envoi PASS")
vc_commande = ASCII.GetBytes("MotPas" & ControlChars.CrLf)
vc_socket.Send(vc_commande)
v_CodeRetour = vc_socket.Receive(v_buffer)
MessageBox.Show(v_CodeRetour)MessageBox.Show("Selectionner un repertoire)
vc_commande = ASCII.GetBytes("CWD /chemin rep" + ControlChars.CrLf)
vc_socket.Send(vc_commande)
v_CodeRetour = vc_socket.Receive(v_buffer)
MessageBox.Show(v_CodeRetour)v_chemin = IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) +
"\Test.txt"
vc_fichier = New FileStream(v_chemin, FileMode.Open, FileAccess.Read)
vc_LecFic = New BinaryReader(vc_fichier)
vc_LecFic.Read()
v_buffer = vc_LecFic.ReadBytes(CType(vc_fichier.Length, Integer))
vc_fichier.Close()MessageBox.Show(
"Taill buff : " & v_buffer.Length)MessageBox.Show(
"Envoi binary")
vc_commande = ASCII.GetBytes("BINARY" + ControlChars.CrLf)
vc_socket.Send(vc_commande)
v_CodeRetour = vc_socket.Receive(v_buffer)
MessageBox.Show("Retour " & v_CodeRetour)MessageBox.Show(
"Envoi par STOR " + v_chemin)
vc_commande = ASCII.GetBytes("STOR" & v_chemin & ControlChars.CrLf) '" /web/download/PO_LMC/" +
vc_socket.Send(vc_commande)
v_CodeRetour = vc_socket.Receive(v_buffer)
MessageBox.Show("Retour1 " & v_CodeRetour)
MessageBox.Show("Envoi buff")
vc_socket.Send(v_buffer, SocketFlags.MaxIOVectorLength)
v_bit = vc_fichier.Read(v_buffer, 0, v_buffer.Length)
v_CodeRetour = vc_socket.Receive(v_buffer)
MessageBox.Show("Rep envoi1 " & v_CodeRetour)EndIfEndSub
EndClass
Avec ça, la connection ce passe mais rein de plus. Les valeurs de retour que j'ai sont sur deux chiffre au lieu de trois, donc dur d'identifier le prob. Il faudrei que cela marche sans dll supp.
Vous voyez ! Je ne me suis pas tourné les pouces. J'ai mis de la transpiration personnelle sur ma démarche.
Alors "so please Codes-Source PDA community HELP ME!!!!"