Problem mit sockets und handle
-
Hallo,
ich bin dabei ein Programm zu schrieben das mir mit sockets erlaubt auf alle Rechner meines eigenen Netzes zu arbeiten, was über die cmd erfolgen soll.
Nachdem ich viel gesucht habe usw bin ich auf ausdr¨cke we allocconsole usw gestossen, allerd dings weiss ich jetzt nicht ob mein Programm halbwegs richtig ist und ob was ich in den Handle eingeben soll.
Ich würde mich über Hilfe freuen.
Hier ist mein code:
also so langsam komm ich mir blöde vor... immer hier die experten zu nerven... Ich poste mal den mehr code denke ich denn ich krieg es einfach nicht auf die Reihe. Ich weiss nicht genau wo ich was hinschreiben soll... also mein code sieht jetzt so aus: C++: #include <iostream> #include <conio.h> #include <winsock2.h> #include <stdio.h> #include <stdlib.h> #include <Windows.h> //fir AllocConsole using std::cout; using std::cin; using std::endl; int main(int argc, char *argv[]) { char Buffer[1024]; //Mise en place d'un buffer pour les messages que l'on s'envoit cout<<"Client[version 1.0.0.1]"<<endl; cout<<"Crée le "<<__DATE__<<" à "<<__TIME__<<endl<<endl<<endl; //Donne la date et l'heure de la création WSADATA WSAData; if((WSAStartup(0x0202, &WSAData))!=0) //Mise en place du WSAStartup { cout<<"[-]WSAStartup Erreur:"<<WSAGetLastError()<<endl; //En cas d'erreur: getch(); //Le fichier bloque et ferme return -1; } cout<<"[+]WSAStartup réussi"<<endl; char IP[70]; //Mise en place d'un buffer pour stocker l'IP ou le nom de l'hote cout<<"[?]IP ou nom de domaine de destination: "; cin>>IP; //L'utilisateur entre son adresse HOSTENT * Hote; if((Hote = gethostbyname(IP))==NULL) // Cette condition verifie si l'hote existe { cout<<"[-]Erreur: Résolution de l'hote impossible.\n\a"<<endl; getch(); //En cas d'erreur le fichier dit que la résolution de l'hote est impossible return -1; //Fermeture } cout<<"[+]Résolution de l'hote réussi."<<endl; SOCKET W_IP; if((W_IP = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))==-1) //Création du socket { cout<<"[-]Erreur: Impossible de créer le socket.\n\a"<<endl; getch(); return -1; } cout<<"[+]Création du socket réussie."<<endl; IN_ADDR Adresse; SOCKADDR_IN SockAddrIn; memcpy(&Adresse, Hote -> h_addr, Hote -> h_length); SockAddrIn.sin_family = AF_INET; //Type de connection: TCP SockAddrIn.sin_port = htons(6667); //Port avec lequel le programme va se connecter SockAddrIn.sin_addr = Adresse; //Adresse de destination if((connect(W_IP, (SOCKADDR *)&SockAddrIn, sizeof(SockAddrIn)))!=0) //Connection { cout<<"[-]Impossible de se connecter.\n\a"<<endl; //Si il est impossible de se connecter getch(); return -1; //Fermeture } send(W_IP,"C",1,0); //Envoi d'un octet en tant que test cout<<"[+]Connection réussie."<<endl; //--------------------Nei----------------------------------------- AllocConsole(); HANDLE hIn; hIn = GetStdHandle(STD_INPUT_HANDLE); if (hIn != INVALID_HANDLE_VALUE) { // Utilisation du handle. } HANDLE hOut; hOut = GetStdHandle(STD_OUTPUT_HANDLE); if (hOut != INVALID_HANDLE_VALUE) { // Utilisation du handle. } //-------------------Nei-----------------------------------------
Also ich hab jetzt mit dem was unter //----------nei---------- steht die meisten Probleme. Ich denke syntax müsste stimmen. Aber was genau muss ich jetzt da rein schreiben? Ich muss irgendwo den buffer reinschreien, wahrscheinlich in STD_INPUT oder?
Hoffe dass es nichts ausmacht dass die Kommentare auf deutsch, frnzösisch und luxemburgisch sind. Wenn das ein Problem ist kann ich sie übersetzen...
Würd mich über etwas hilfe freuen.
mfg
kabel