Krzysiek S be84c8219c
[WiFiClient] Default connection timeout, when no timeout provided (#5487)
## The problem
WiFiClient's connect method variant where no timeout is passed can block esp32 MCU and may then cause watchdog to kick in and reset the device. This behavior is different from that, what is in arduino-esp8266 core.

## Summary
Some cross-esp libraries (working both on esp32 and 8266), like PubSubClient simply call connect method on WiFiClient, to get connected to remote server. However, connect behavior varies betwen esp arduino 8266 and esp arduino 32 cores. This pull request tries introduce same behavior - to make connect method non-blocking on esp32, like it is with 8266 arduino core.

## Proposed solution
Introduce default fixed timeout that can be changed by #define - by default set to 3 seconds.

### Affected components: 
WiFiClient

### Affected methods:
```c++ 
int connect(IPAddress ip, uint16_t port);
int connect(const char *host, uint16_t port);
```

### Impact
May impact projects or libraries using connect method variant without specified timeout, where:
- remote is located far away or
- connection is heavily limited, or
- remote is slow, when it comes to accept the connection
2021-08-02 15:05:44 +03:00
2021-07-26 16:04:20 +03:00
2021-07-26 15:56:05 +03:00
2021-07-20 11:59:13 +03:00
2021-07-17 01:57:49 +03:00
2019-04-16 03:08:50 +02:00
2021-07-17 01:57:49 +03:00
2021-07-26 15:56:05 +03:00
2016-10-06 07:09:44 -06:00
2021-07-22 17:05:54 +03:00

Arduino core for the ESP32

Build Status Documentation Status

Need help or have a question? Join the chat at https://gitter.im/espressif/arduino-esp32

Contents

ESP32-S2 and ESP32-C3 Support

If you want to test ESP32-S2 and/or ESP32-C3 through the board manager, please use the development release link:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json

Now you can install the latest 2.0.0 version from the boards manager.

Development Status

Latest Stable Release Release Version Release Date Downloads

Latest Development Release Release Version Release Date Downloads

Documentation

You can use Arduino-ESP32 Online Documentation to get all information about this project.

Decoding exceptions

You can use EspExceptionDecoder to get meaningful call trace.

Issue/Bug report template

Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labelled as for reference.

Finally, if you are sure no one else had the issue, follow the issue template while reporting any issue.

Contributing

We welcome contributions to the Arduino ESP32 project!

See contributing in the documentation for more information on how to contribute to the project.

Description
No description provided
Readme 668 MiB
Languages
C 77.6%
C++ 21.6%
Python 0.7%