From 6028b8a6176cdd3b8e403be2165f205e404e79c7 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Fri, 17 Jan 2025 17:38:47 +0300 Subject: [PATCH] Catch port bind error in simulation --- gazebo/wifi.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gazebo/wifi.h b/gazebo/wifi.h index 282544b..9e6046b 100644 --- a/gazebo/wifi.h +++ b/gazebo/wifi.h @@ -22,7 +22,10 @@ void setupWiFi() { addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; addr.sin_port = htons(WIFI_UDP_PORT_LOCAL); - bind(wifiSocket, (sockaddr *)&addr, sizeof(addr)); + if (bind(wifiSocket, (sockaddr *)&addr, sizeof(addr))) { + gzerr << "Failed to bind WiFi UDP socket on port " << WIFI_UDP_PORT_LOCAL << std::endl; + return; + } int broadcast = 1; setsockopt(wifiSocket, SOL_SOCKET, SO_BROADCAST, &broadcast, sizeof(broadcast)); // enable broadcast gzmsg << "WiFi UDP socket initialized on port " << WIFI_UDP_PORT_LOCAL << " (remote port " << WIFI_UDP_PORT_REMOTE << ")" << std::endl;