000
03.09.2006, 14:44 Uhr
~ftpuser
Gast
|
Hallo!
Habe ein kleines Problem und zwar, habe ich mir meinen FTP Server zusammengebastelt, der Code sieht so aus:
Code: |
#include <cstdlib> #include <iostream> #include <winsock.h> #include <winsock2.h> #include <windows.h>
using namespace std;
int gPort = 21; int error = 0; string msg = "USER DarthVader"; string msp = "PASS starwarsrulez"; string dir = "dir"; string help = "help"; string helo = "helo";
int main(int) { SOCKET lhSocket; SOCKADDR_IN lSockAddr; WSADATA wsaData; int lConnect; int lLength; char lData[]="SendData"; if(WSAStartup(MAKEWORD(2,0),&wsaData) != 0) { cout<<"Socket Initialization Error. Program aborted\n"; cin>>error; return 0; } lhSocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(lhSocket == INVALID_SOCKET) { cout<<"Invalid Socket "<<GetLastError()<<". Program Aborted\n"<<endl; cin>>error; } memset(&lSockAddr,0, sizeof(lSockAddr)); lSockAddr.sin_family = AF_INET; lSockAddr.sin_port = htons(gPort); lSockAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); lConnect = connect(lhSocket,(SOCKADDR *)&lSockAddr,sizeof(SOCKADDR_IN)); if(lConnect != 0) { cout<<"Connect Error. Program aborted\n"; cin>>error; return 0; } //Sag dem Server hallo weil wir so nett sind :-) send(lhSocket, helo.c_str(),strlen(helo.c_str()),0); Sleep(2000); char temp[512]; int bytes = 0; while (bytes == 0) { bytes = recv(lhSocket,temp,sizeof(temp)-1,0); temp[bytes] = '\0'; cout<<temp; } Sleep(1000); send(lhSocket, msg.c_str(),strlen(msg.c_str()),0); Sleep(1000); send(lhSocket, msp.c_str(),strlen(msp.c_str()),0); int bytes2; while (true) { bytes2 = recv(lhSocket,temp,sizeof(temp)-1,0); temp[bytes] = '\0'; cout<<temp; } cin>>bytes; closesocket(lhSocket); return 0; }
|
Habe einen FTP Server local laufen und Benutzername und Passwort stimmen eben mit den obigen überein. Wenn ich das Programm ausführe steht aber nur:
Das bedeutet doch, dass ich nicht beim Server eingeloggt bin, denn wenn ich es mit Telnet versuche bekomme ich, wenn ich eingeloggt bin folgende Meldung:
Zitat: |
230 User DarthVader logged in.
|
Wo liegt mein Fehler? Was mache ich, wo wie falsch?
Danke schonmals für die Hilfe! lg thomas |