Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [C#] FTP - połączenie i transfer plików
tiraeth
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Serii C# ciąg dalszy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Chcę wykorzystać protokuł FTP do przesyłania plików na serwer ale nie wiem jakiej klasy mam użyć do tego. Fajnie, jakby jeszcze można było pokazać pasek postępu, jeżeli ktoś wie jakiej klasy mam użyć do obsługi FTP w C# to proszę o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




http://www.codeproject.com/csharp/C__FTP_client.asp
http://www.csharphelp.com/archives/archive9.html

Ftp mozesz zrobic na socket'ach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) w sumie zostal opracowany "analogicznie" do http (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) badz tez uzyc gotowych klas
Go to the top of the page
+Quote Post
tiraeth
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


A mógłbyś mi wytłumaczyć jak używać tych socketów, albo podać jakieś linki (najlepiej PL) do artykułów na temat socketów w C# ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jestem zielony (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
hwao
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




@tiraeth zapytaj Ace na ircu on ostnio pisal na socket'ach w c#

Wszytko masz w necie pozatym (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tiraeth
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Dobra, napisałem coś takiego:

Kod
    public class FTPClient
    {
        Socket _ftpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        string _ftpHost = "";
        int    _ftpPort = 21;           // Default FTP port
        IPHostEntry _ftpHostEntry;

        byte[] inBuf = new byte[32 * 1024];
        int    inLen;

        public string Connect(string host, int port)
        {
            // Setting host/port
            _ftpHost = host;
            _ftpPort = port;
            _ftpHostEntry = Dns.GetHostEntry(_ftpHost);

            // Connecting to FTP Server
            _ftpSocket.Connect(new IPEndPoint(_ftpHostEntry.AddressList[0], _ftpPort));

            inLen = _ftpSocket.Receive(inBuf);
            return Encoding.ASCII.GetString(inBuf, 0, inLen); // Return CONNECT string
        }

        public string Login(string user, string password)
        {
            string retString = "";

            // Logon user to server
            _ftpSocket.Send(Encoding.ASCII.GetBytes("USER " + user + "\r\n"));
            retString = "Client: USER + " + user + "\r\n";

            inLen = _ftpSocket.Receive(inBuf);
            retString += "Server: " + Encoding.ASCII.GetString(inBuf, 0, inLen);

            _ftpSocket.Send(Encoding.ASCII.GetBytes("PASS " + password + "\r\n"));
            retString += "Client: PASS + " + password + "\r\n";

            inLen = _ftpSocket.Receive(inBuf);
            retString += "Server: " + Encoding.ASCII.GetString(inBuf, 0, inLen);

            return retString;
        }
    }


Działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Więc już wszystko będzie wporządku, chciałbym jeszcze tylko wiedzieć jak mogę uzupełniać TextBox w czasie wykonywania połączenia, tzn. połączony to niech wypisze to "220..." i niech czeka na odpowiedź od serwera przy Login() i dopiero po otrzymaniu odpowiedzi doda to TextBoxa kolejne linijki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Radarek
post
Post #6





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

Ostrzeżenie: (0%)
-----


Kazda kontrolka ma wlasciwosc Text. Mozesz ja zmieniac i bedzie to widoczne na kontrolce (oczywiscie w zaleznosci od tego czym jest, ale dla TextBox dziala). Jesli zmiany nie beda widoczne to zdaje sie wywolaj metode Refresh() na kontrolce, zeby sie przerysowala.
Go to the top of the page
+Quote Post
tiraeth
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Dzięki działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.09.2025 - 06:57