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.


Anmelden zum Antworten