Hallo,
ja sicher selber programmieren, also ich hab mir jetzt mal 20 min die mühe gemacht und bin recht weit gekommen...benutze dafür aber eine eigene DLL jedoch denke ich, dass das ganze so recht gut lesbar ist...dabei habe ich die Befehle bisschen vom FileZilla Server abgeguckt, bis zum Ende gekommen bin ich natürlich noch nicht, aber ich denke, dass ich trotzallem schon recht weit bin...
Sub ClientAccepted(ByVal sender As Object, ByVal e As MessageEventargs) _
Handles Server.ClientAccepted
Server.SendTo("220-Julians FTP Server version 1.0" & vbCrLf & _
"220-gesendet an " & e.Client.IP.ToString() & "" & vbCrLf & _
"220 Ende", e.Client)
End Sub
Sub MessageReceived(ByVal sender As Object, ByVal e As MessageEventargs) _
Handles Server.ChatMessage
If e.Client IsNot Nothing Then
Dim tmp As String = Replace(e.Message, vbCrLf, "")
Dim mess() As String
If tmp.Contains(" ") Then
mess = Split(tmp, " ", 2)
Else
mess = New String() {tmp, ""}
End If
Dim Comm As String = mess(0)
Dim Params As String = mess(1)
Select Case Comm
Case "USER"
If Params = "test" Then
e.Client.UserLogged = True
Server.SendTo("331 Login OK, bitte senden Sie ihr" & _
"Passwort", e.Client)
End If
Case "PASS"
If Params = "pw" And e.Client.UserLogged Then
e.Client.Logged = True
Server.SendTo("230 Passwort OK, Sie wurden erfolgreich" & _
"eingeloggt", e.Client)
End If
Case "FEAT"
If e.Client.Logged Then
Server.SendTo("211-Unterstüzte Erweiterungen:" & vbCrLf _
& _
"MDTM" & vbCrLf & _
"REST STREAM" & vbCrLf & _
"Size" & vbCrLf & _
"MLST type*;size*;modify*;" & vbCrLf & _
"MLSD" & vbCrLf & _
"UTF8" & vbCrLf & _
"CLNT" & vbCrLf & _
"MFMT" & vbCrLf & _
"211 Ende.", e.Client)
End If
Case "PWD"
If e.Client.Logged Then
Server.SendTo("257 ""/"" ist das aktuelle" & _
"Verzeichnis.", e.Client)
End If
Case "TYPE"
If e.Client.Logged Then
e.Client.Modus = Asc(Params)
If Params = "A" Then
Server.SendTo("200 In ASCII Modus gewechselt.", _
e.Client)
End If
End If
Case "NOOP"
If e.Client.Logged Then
Server.SendTo("200 NOOP OK.", e.Client)
End If
Case "PASV"
If e.Client.Logged Then
Server.SendTo("227 Passiver Modus", e.Client)
End If
End Select
End If
End Sub so sollte es vom Grundaufbau her sein, wie man jetzt ein Verzeichnis überträgt bei MLSD bin ich leider noch nicht dahinter gekommen, aber vlt. findest du da ja auch was ;)
also ich kann bisher zumindest mal mit einem FileZilla Clienten auf "Meinen" Server Connecten
Mfg Julian |