Skip to content

Commit f7f86b2

Browse files
committed
Refactor WebSocket reconnection logic to use a dedicated function
1 parent 4940769 commit f7f86b2

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

components/remote_webview/remote_webview.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ namespace remote_webview {
1919
static const char *const TAG = "Remote_WebView";
2020
RemoteWebView *RemoteWebView::self_ = nullptr;
2121

22+
static inline void websocket_force_reconnect(esp_websocket_client_handle_t client) {
23+
if (!client) return;
24+
esp_websocket_client_stop(client);
25+
esp_websocket_client_start(client);
26+
}
27+
2228
void RemoteWebView::setup() {
2329
self_ = this;
2430

@@ -159,7 +165,7 @@ void RemoteWebView::ws_task_tramp_(void *arg) {
159165
vTaskDelay(pdMS_TO_TICKS(5000));
160166

161167
if (!esp_websocket_client_is_connected(client)) {
162-
esp_websocket_client_reconnect(client);
168+
websocket_force_reconnect(client);
163169
continue;
164170
}
165171

@@ -200,7 +206,7 @@ void RemoteWebView::ws_event_handler_(void *handler_arg, esp_event_base_t, int32
200206
ESP_LOGI(TAG, "[ws] disconnected");
201207
if (self_) self_->last_keepalive_us_ = 0;
202208
reasm_reset_(*r);
203-
esp_websocket_client_reconnect(e->client);
209+
websocket_force_reconnect(e->client);
204210
break;
205211

206212
#ifdef WEBSOCKET_EVENT_CLOSED
@@ -209,7 +215,7 @@ void RemoteWebView::ws_event_handler_(void *handler_arg, esp_event_base_t, int32
209215
ESP_LOGI(TAG, "[ws] closed");
210216
if (self_) self_->last_keepalive_us_ = 0;
211217
reasm_reset_(*r);
212-
esp_websocket_client_reconnect(e->client);
218+
websocket_force_reconnect(e->client);
213219
break;
214220
#endif
215221

0 commit comments

Comments
 (0)