sockets
-
int startWinsock() { WSADATA wsa; return WSAStartup(MAKEWORD(2,0),&wsa); }SOCKADDR_IN addr; long rc; SOCKET s; char buf[256]; //Buffer mit 256 Bytes zum senden - muss nur senden! rc=startWinsock(); s=socket(AF_INET,SOCK_STREAM, 0); if(s == INVALID_SOCKET) { printf("Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n",WSAGetLastError()); } else { printf("Socket erstellt!\n"); } memset(&addr,0,sizeof(SOCKADDR_IN)); // Damit gewähren wir 0 Werte^^ addr.sin_family=AF_INET; addr.sin_port=htons(21); // Zufallsport hat nicht irgend n Trojaner auch port 12345? hmmmm addr.sin_addr.s_addr=inet_addr("127.0.0.1"); // auf localhost^^ rc=connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR)); if(rc==SOCKET_ERROR) { printf("Fehler: connect gescheitert, fehler code: %d\n",WSAGetLastError()); } else { printf("Verbunden\n"); //Wir sind verbunden und können uns nun am ftp server anmelden das geht so: strcpy(buf,"test"); //Der Username lautet eben test das Passwort auch^^ rc=send(s,buf,4,0); //Wir senden 5 Zeichen rc muss auch 5 als Wert haben, wenn alles OK //nun zum Passwort rc=send(s,buf,4,0); //Wieder 5 Zeichen } cin>>test; FindClose(fHandle); }So... habe also einen FTP Server lokal installiert und es gibt einen Usernamen "test" mit dem Passwort "test". Irgendwie scheint aber der Login nicht zu funktionieren per C++ Socks... Was mach ich an diesem Script eigentlich falsch?
Ausgabe:
Verbunden
Der FTP-Server meldet auch, dass wir verbunden sind, aber irgendwie nimmt er die Username/Passwort abfrage nicht....
-
bin gerade draufgekommen, das dass so nicht funzen kann und habe es dan nso überarbeitet aber immer noch kein erfolg
else { printf("Verbunden\n"); //Wir sind verbunden und können uns nun am ftp server anmelden das geht so: strcpy(buf, "USER test"); //Der Username lautet eben test das Passwort auch^^ rc=send(s,buf,10,0); //Wir senden 5 Zeichen rc muss auch 5 als Wert haben, wenn alles OK if (rc != 10) { cout<<"error"; } cout<<buf; //nun zum Passwort strcpy(buf, "PASS test"); rc=send(s,buf,10,0); //Wieder 5 Zeichen if (rc != 10) { cout<<"error"; } cout<<buf; }
-
du sendest ja nur testtest an den server. das enspricht sicherlich nicht dem ft-protokoll. seit wann sind 4 zeichen 5 zeichen?
-
du musst die befehle doch auch durch einen neue zeile abtrennen sonst sieht der server doch alles als Username an
-
und wie trenn ich denn ab?
\0
\n
helfen irgendwie nicht^^
-
\r\n
-
else { printf("Verbunden\n"); //Wir sind verbunden und können uns nun am ftp server anmelden das geht so: strcpy(buf, "USER test\r\n"); //Der Username lautet eben test das Passwort auch^^ rc=send(s,buf,12,0); //Wir senden 5 Zeichen rc muss auch 5 als Wert haben, wenn alles OK if (rc != 12) { cout<<"error"; } cout<<buf; Sleep(1000); //nun zum Passwort strcpy(buf, "PASS test\r\n"); rc=send(s,buf,10,0); //Wieder 5 Zeichen if (rc != 10) { cout<<"error"; } cout<<buf; }funzt auch net^^
-
Vllt. hilft es auch zwischendurch mal die Antworten des Servers zu lesen

EDIT: "USER test\r\n" sind 11 Zeichen und bei PASS auch. und nicht 12, 5 und/oder 10

-
ok danke

jetzt läufts^^noch n kleines prob^^
ich will jetzt eine Datei raufspeichern das geht ja so:put C://test.txt test.txt
das scheint aber nicht zu klappen^^
-
Scherzbold. Glaubste die Daten der Datei wandern von alleine durch die jeweiligen parallelen Datentunnel, wovon du nichtmal einen aufgebaut hast?
-
hmmm
wenn ich folgendes mache:
ftp 127.0.0.1
test
test
put quelle zieldann klappt es aber...
was muss ich bei meinen sockets abändern dass es auch so klappt?
-
OMG biste dumm?
-
also hilfst du mir?
-
Nur für Geld.
-
Entenwickler schrieb:
OMG biste dumm?
Entenwickler schrieb:
Nur für Geld.
Super du hast es geschafft, dass ich 5min fuer eine Registrierung verschwende.
Hinweis: Du solltest auch aufhoeren dich im wahren Leben als Frau auszugeben, das bringt dir keine Freunde!
-
was???? lol
du bist ja lächerlich weißt nicht mal wer ich bin wenn ja dann schreib doch die addresse und so weiter hier rein du n00b
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
weiß net wie ich dir helfen könnte^^