012
15.01.2007, 00:09 Uhr
~Xenon
Gast
|
Okey also ich hab mir das mit _popen() mal angeguckt und hab jetzt versucht einen Remote-Server zu schreiben (NOCH keine Verschlüsselung) aber er funktioniert nicht:
C++: |
#include <iostream> #include <winsock.h> #include <stdio.h>
using namespace std;
int befehl(int sock2,char *buffer){
char psBuffer[128]; FILE *pPipe; cout<<"pPipe initialisiert..."<<endl; pPipe = _popen(buffer,"r"); cout<<"pPipe: popen() = success = pPipe geöffnet!"<<endl; if(pPipe == NULL){ send(sock2,"error, Befehl nicht gefunden",5,0); cout<<"Error occured aborting ..."<<endl; return 0; } cout<<"Hole ausgegebene Daten..."<<endl; while(!feof(pPipe)) { fgets(psBuffer, 128, pPipe); send(sock2,psBuffer,strlen(psBuffer),0); } cout<<"..geholt !"<<endl; _pclose(pPipe); cout<<"Schließe pPipe, pclose() = success!"<<endl; return 1; }
int main(int argc, char* argv[]) { WSAData wsaData; WSAStartup(MAKEWORD(1,1),&wsaData); cout<<"WSAStartup() = perfect !"<<endl;
int sock=socket(AF_INET,SOCK_STREAM,0); cout<<"Socket() = erstellt !"<<endl; sockaddr_in my_addr; my_addr.sin_family = AF_INET; my_addr.sin_port = htons(8765); my_addr.sin_addr.s_addr = INADDR_ANY;
bind(sock,(sockaddr*)&my_addr,sizeof(&my_addr)); cout<<"bind() = erfolgreich !"<<endl;
cout<<"listen() = initialisieren ...\nlisten() :"; listen(sock,2); cout<<"Eingegangene Verbindung oder Mißglueckt"<<endl;
sockaddr_in remote_addr; int size=sizeof(&remote_addr);
char buffer[100]=""; int sock2=accept(sock,(sockaddr*)&remote_addr,&size); cout<<"accept() = erfolgreich !"<<endl; while(1){ recv(sock2,buffer,100,0); cout<<"daten "<<buffer<<endl; befehl(sock2,buffer); } WSACleanup(); }
|
Also bei mir is der Fehler das er das listen(); einfach überspringt und gleich zu der Schleife kommt !!!???? dadurch wird mein System etwas überlastet und ich kann nix mehr anklicken
Wäre dankbar für fehlerfindung + Analyse
mfg Xenon^^ ____________________________________-MinPC-: AMD Athlon 64 X2 Dual Core 4200+ geForce 6200 256MB 160 GB Sata, 6 USB, 1 DVD Brenner, 1000 MB Netzwerkkarte,
wenn der hängt weß ick och nich weiter ... |