En klass skriven i c#, den ansluter mot en server och skapar en mapp. Hmm, har inte hittat hur man får upp en fil med PUT... Men du får ju utforska FTP protokollet lite, där kan du se vilka commands som du kan använda dig utav. Hej. Ja du. :-) okej... synd att det inte finns nån transfer control längre (?), skulle bara ha ett program som skickar upp uppdateringen av ett annat prg + lite verinfoSv: FTP
Men det är bra början för vidareutveckling.
<URL:http://w1.185.telia.com/~u18509538/ftp.txt>
Om du behöver hjälp med översättningen så kan du använda dig utav...
http://www.kamalpatel.net/ConvertCSharp2VB.aspxSv: FTP
Den ska väl skickas efter kommandot på nåt sätt...
Nån annan som har ett exempel på en filuppladdning till FTP?
//ThomasSv: FTP
http://www.ietf.org/rfc/rfc959.txtSv: FTP
För att ladda upp fil kör du med STOR kommandot. ex:
<code>
STOR <filename>
</code>
Sedan måste du läsa in din fil och skicka dess data via den socket connection du håller öppen.
//Johan NSv: FTP
Du använder Socket klassen m.m. Det du vill göra är lite krångligare än att bara koppla upp sig och skicka data, då du måste kontrollera mängden data, samt kontrollera att datan m.m. gått fram till FTP servern m.m. Att göra en FTP klient kräver en hel del arbete beroende på hur kontrollerad du vill ha den.
Här följer en liten kod som jag skrevihop för ett tagsedan. Det enda denna gör är en inloggning mot en FTP server, dock har jag ingen Passove mode hantering m.m.
OBS! Detta är skrivet i C# så du får själv skriva om det till VB. Samt så är detta inte
riktigt fullständig kod, ex GetIPAddress metoden m.m. har jag inte klistrat in.
<code>
public string Login(string userName,string password)
{
clientSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
clientSocket.Connect(new IPEndPoint(GetIPAddress(),port));
ReadNetworkStream();
if(StatusValue != 220)
throw new Exception(receivedData);
SendCommand("USER "+ userName);
if(StatusValue != 331)
throw new Exception(receivedData);
SendCommand("PASS "+ password);
if(StatusValue != 230)
throw new Exception(receivedData);
return(receivedData);
}
private void ReadNetworkStream()
{
int ReceivedValue = clientSocket.Receive(buffer,0,buffer.Length,0);
receivedData = Encoding.ASCII.GetString(buffer,0,ReceivedValue);
StatusValue = Int32.Parse(receivedData.Substring(0,3));
}
</code>
Mitt tips är att du letar upp färfiga ftp klienter som hanterar allt det du vill ha.
//Johan NSv: FTP