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

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