Hi @jwang11 ROS2 (and more precisely DDS) uses UDP multicast to communicate the metadata allowing different node to discover each other and establish communication. Additionaly DDS allows you to specify a domain ID that is a logical barrier to segregate networks. If your two machines are on the same network and your network configuration allows UDP multicast communication you should be able to run talker/listener across machines by running: On machine 1: ``` source /setup.bash ros2 run demo_nodes_cpp talker ``` On machine 2: ``` source /setup.bash ros2 run demo_nodes_cpp listener ``` If you don't want to interfere with other DDS systems on the same network you can set a domain ID, the domain ID is a number between 0 and 255, I'll use 42 in the following example: On machine 1: ``` export ROS_DOMAIN_ID=42 source /setup.bash ros2 run demo_nodes_cpp talker ``` On machine 2: ``` export ROS_DOMAIN_ID=42 source /setup.bash ros2 run demo_nodes_cpp listener ``` --- [Visit Topic](https://discourse.ros.org/t/how-to-run-example-talker-listener-on-2-machines-with-different-ipaddr/2106/2) or reply to this email to respond. If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates. ______________________________________________________________________________ ros-users mailing list ros-users@lists.ros.org http://lists.ros.org/mailman/listinfo/ros-users Unsubscribe: