Ich habe hier ein sehr interessantes Thema für euch: Kommunikation zwischen zwei Prozessen auf dem selben Computer. Das heißt, wie können zwei Programme, die auf einem System laufen, Daten untereinander austauschen? Dazu gibt es erstmal mehrere Möglichkeiten und ich habe mir da jetzt mal die Pipes rausgepickt. Die Frage, was ein Pipe ist, lasse ich mal durch Wikipedia klären. Dazu bitte HIER mal nachschauen. Um für euch den Umgang mit den Pipes einfach zu gestalten habe ich euch mal schnell zwei Klassen programmiert. Eine PipeServer- und einer PipeClient-Klasse. Damit ist es letztendlich nicht sehr schwer das Ganze zu realisieren
Ladet euch die Header- und .CPP-Dateien runter und bindet sie in euer aktuelles Projekt ein.
So, nun können wir anfangen zu Programmieren. Zuerst wollen wir einen Pipe-Server programmieren:
Code:
#include <iostream>
#include <string>
#include "class_Pipe.h"
using namespace std;
using namespace pipe;
int main( int argc, char** argv )
{
return 0;
}
Code:
#include <iostream>
#include <string>
#include "class_Pipe.h"
using namespace std;
using namespace pipe;
int main( int argc, char** argv )
{
PipeServer pipeServer;
return 0;
}
Code:
#include <iostream>
#include <string>
#include "class_Pipe.h"
using namespace std;
using namespace pipe;
int main( int argc, char** argv )
{
PipeServer pipeServer;
pipeServer.SetPipeAttributes( "TEST", 512 );
return 0;
}
Code:
#include <iostream>
#include <string>
#include "class_Pipe.h"
using namespace std;
using namespace pipe;
int main( int argc, char** argv )
{
PipeServer pipeServer;
pipeServer.SetPipeAttributes( "TEST", 512 );
if( ! pipeServer.CreateServer() )
{
cout << "Konnte Server nicht erstellen\n";
return 1;
}
if( ! pipeServer.ConnectToServer() )
{
cout << "Konnte sich nicht mit dem Server verbinden\n";
return 1;
}
return 0;
}
Code:
#include <iostream>
#include <string>
#include "class_Pipe.h"
using namespace std;
using namespace pipe;
int main( int argc, char** argv )
{
PipeServer pipeServer;
pipeServer.SetPipeAttributes( "TEST", 512 );
if( ! pipeServer.CreateServer() )
{
cout << "Konnte Server nicht erstellen\n";
return 1;
}
if( ! pipeServer.ConnectToServer() )
{
cout << "Konnte sich nicht mit dem Server verbinden\n";
return 1;
}
string empfangen = pipeServer.Recv();
cout << "Empfangen: " << empfangen << "\n";
return 0;
}
Code:
#include <iostream>
#include <string>
#include "class_Pipe.h"
using namespace std;
using namespace pipe;
int main( int argc, char** argv )
{
PipeServer pipeServer;
pipeServer.SetPipeAttributes( "TEST", 512 );
if( ! pipeServer.CreateServer() )
{
cout << "Konnte Server nicht erstellen\n";
return 1;
}
if( ! pipeServer.ConnectToServer() )
{
cout << "Konnte sich nicht mit dem Server verbinden\n";
return 1;
}
string empfangen = pipeServer.Recv();
cout << "Empfangen: " << empfangen << "\n";
string sende = "Huhu";
pipeServer.Send( &sende );
return 0;
}
Code:
#include <iostream>
#include <string>
#include "class_Pipe.h"
using namespace std;
using namespace pipe;
int main( int argc, char** argv )
{
PipeClient pipeClient;
pipeClient.SetPipeAttributes( "TEST", 512 );
if( ! pipeClient.ConnectToServer() )
{
cout << "Konnte sich nicht mit dem Server verbinden\n";
return 1;
}
string sende = "Hallo, Server";
pipeClient.Send( &sende );
string rec = pipeClient.Recv();
cout << rec;
return 0;
}






