neurali:gazebo_libreria_trasporto
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
neurali:gazebo_libreria_trasporto [2015/06/02 18:17] – profpro | neurali:gazebo_libreria_trasporto [2020/06/08 22:20] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Trasporto messaggi tra client e server ====== | ||
+ | Tutorial originale in lingua inglese: http:// | ||
+ | |||
+ | Argomento collegato a [[neurali: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | La comunicazione tra gzserver e client avviene tramite un sistema di passaggio di messaggi tramite socket di rete (TCP) | ||
+ | |||
+ | * topic è il canale dove viaggia il messaggio (su ROS dice invece che è il contenuto del messaggio) | ||
+ | * message: è il tipo di dato | ||
+ | |||
+ | questi sono i termini usati per descrivere un mittente e un destinatario | ||
+ | |||
+ | (;;node;; (;;; | ||
+ | |||
+ | Questo modello di comunicazione è usato anche all' | ||
+ | |||
+ | |||
+ | Vengono fornite delle librerie, come: | ||
+ | |||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | dopo aver avviato gazebo, questo comando mostra la lista dei topic, canali che emettono messaggi, che possono essere ricevuti con un subscriber | ||
+ | |||
+ | gz topic -l | ||
+ | |||
+ | Il client che riceve i messaggi dal server gazebo (gzserver) può essere avviato come un [[neurali: | ||
+ | |||
+ | ===== codice ===== | ||
+ | |||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | <code c> | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | #include < | ||
+ | |||
+ | ///////////////////////////////////////////////// | ||
+ | // Function is called everytime a message is received. | ||
+ | void cb(ConstWorldStatisticsPtr &_msg) | ||
+ | { | ||
+ | // Dump the message contents to stdout. | ||
+ | std::cout << _msg-> | ||
+ | } | ||
+ | |||
+ | ///////////////////////////////////////////////// | ||
+ | int main(int _argc, char **_argv) | ||
+ | { | ||
+ | // Load gazebo | ||
+ | gazebo:: | ||
+ | |||
+ | // Create our node for communication | ||
+ | gazebo:: | ||
+ | node-> | ||
+ | |||
+ | // Listen to Gazebo world_stats topic | ||
+ | gazebo:: | ||
+ | |||
+ | // Busy wait loop...replace with your own code as needed. | ||
+ | while (true) | ||
+ | gazebo:: | ||
+ | |||
+ | // Make sure to shut everything down. | ||
+ | gazebo:: | ||
+ | } | ||
+ | |||
+ | </ |