2 Methoden gleichzeitig laufen lassen.
-
Hallo, ich arbeite gerade an einem kleinen Chatprogramm über die RS232 Schnittstelle.
Nun möchte ich eine Vollduplex Verbingung herstellen, d.h dass ich gleichzeitig Senden und Empfangen kann und nicht ständig Sender/Empfänger wechseln muss.
Ich habe nun schon den Sendecode geschrieben:
(Serial* SP= new Serial("COM1", 115200, 8, NOPARITY, ONESTOPBIT); if(SP->open()==true) { cout<<"Der Port "<<SP->get_portName()<< " wurde erfolgreich geeoffnet, bereit zum Chatten, Exit = Beenden"<<endl<<endl; while(füllen!="Exit") { cout<<"Text eingeben: "; getline(cin,füllen); SP->write(füllen); if(füllen!="Exit") cout<<endl<<"Sie haben: "<<füllen<<" gesendet"<<endl<<endl; Sleep(1000); } } else {cout<<"Der Port "<<SP->get_portName()<< "ist nicht verfuegbar"; } cout<<endl<<"Chat wird geschlossen";Das Programm ist also ständig in Sendebereitschaft.
Aber ansich muss es nun auch ständig in Empfangsbereitschaft sein,
Empfangen kann ich mit der Methode SP->read();
Nur wie realisiere ich es, dass diese auch ständig aktiv ist?Gibt es da eine möglichkeit? Vielen Dank

-
Das Zauberwort ist "Threads".
-
Ja, über Multithreading zum Beispiel.