Nachrichtenqueue



  • Hi, ich habe nach der Seite www.cpp-entwicklung.de/cpplinux/cpp_main/node5.html
    ein Hanoi Programm geschrieben, welches Signale über eine Messagequeue and ein anderes Programm, den Roboter, schickt. Nun lege ich die ID der Nachrichtenqueue aber im Quellcode fest. Was ist nun aber, wenn die ID schon vergeben ist?

    Hier mal ein bisschen Code:

    class CommunicationControl
    {
    public:
    	int msgid;
    	CommunicationControl() : msgid(345){}
    	int initializeConnection();
    	int closeConnection();
    };
    

    Das ist die Klasse, von der sowohl der Roboter, als auch die HanoiRoboterControlle abgeleitet sind. Der Roboter rund initializeConnection auf und dannach processMessages (in der Roboterklasse definiert).

    Der Controller ruft auch die initializeConnection() auf, und sendet daraufhin.

    Am best wär es, wenn der Roboter eine freie ID wählen würde und der Controler diese dann irgendwie in Erfahrung bringen könnte.

    Geht das?



  • Hat denn keiner von euch Erfahrungen mit Nachrichtenschlangen gesammelt?



  • Für was brauchst du diese ID egtl überhaupt?
    Wenn du die als zentrale, eindeutige ID brauchst (die über jegliche Kommunikation hinweg eindeutig ist), dann wirst du an deiner zentralen Stelle (also scheinbar der Controller) diese IDs verwalten müssen. Das heisst wiederum, wenn der Roboter eine neue Kommunikation aufbauen möchte, dann muss er erst eine spezielle Anfrage an den Controller schicken, der ihm dann zB als Antwort eine freie ID zurückschickt. Diese könnte er dann verwenden.


Anmelden zum Antworten