我正在尝试在arduino-esp32框架上的安全wifi连接上设置连接超时。我的代码是:
const uint32_t RESPONSE_TIMEOUT = 30;
WiFiClientSecure client;
client.setTimeout(RESPONSE_TIMEOUT);
if (!client.connect(currentHost.c_str(), port)) {
ESP_LOGI(TAG, "Cannot connect to %s", currentHost.c_str());
display(3, " E", "connection lost");
goto failure;
}
这将成功打开wifi连接,但会记录此错误:
[E] [WiFiClient.cpp:236] setSocketOption():1006:9
0x1006定义为
SO_RCVTIMEO 0x1006 / *接收超时* /
错误9定义为
EBADF 9 / *错误的文件号* /
我被困在这里。此处的文件编号错误意味着什么,为什么不能以这种方式设置套接字流超时?谁能帮我吗?
答案 0 :(得分:0)
在client.connect之前不能有setTimeOut。您必须先建立连接。