我在工作站模式下使用 Wroom-02 与我的服务器交换一些信息(我正在使用 SecureClient 库)。我正在尝试路由器已打开但与 Internet 没有连接的情况。当我重新建立路由器互联网连接时,模块不再连接到主机,并给出错误消息“未知错误代码”。如何在不重置的情况下解决它?
这是我正在使用的完整代码。
`server_connectionFeedback_t server_sendData(char *pollingBuffer)
{
server_connectionFeedback_t ret=SERVER_CONNECTION_IN_PROGRESS;
switch(serverManager.phase)
{
case 0:
stationClient.setInsecure();
if(!stationClient.connect(SERVER_HOST,SERVER_PORT))
{
char buffTemp[100];
stationClient.getLastSSLError(buffTemp,100);
serialDebug.println(buffTemp);
ret=SERVER_UNREACHEABLE;
}
else
{
stationClient.print(pollingBuffer);
serverManager.phase++;
serverManager.timeoutReplyServer=SERVER_TIMEOUT_REPLY_SERVER;
serialDebug.println(pollingBuffer);
serverManager.lenghtServerData=0;
}
break;
case 1:
if(serverManager.timeoutReplyServer)
{
serverManager.lenghtServerData=stationClient.available();
if(serverManager.lenghtServerData!=0)
{
for(uint16_t i=0; i<serverManager.lenghtServerData; i++)
{
if(!i)
{
serverManager.buffer=(char*)malloc(2);
sprintf(serverManager.buffer,"%c",(char)stationClient.read());
}
else
{
serverManager.buffer=(char*)realloc(serverManager.buffer,strlen(serverManager.buffer)+2);
sprintf(serverManager.buffer,"%s%c",serverManager.buffer,(char)stationClient.read());
}
}
serialDebug.println(serverManager.buffer);
String HTTPmessage(serverManager.buffer);
if(HTTPmessage.startsWith("HTTP/1.1 200 OK"))
{
server_contentData=HTTPmessage.substring(HTTPmessage.indexOf("Content-Length: ")+22);
free(serverManager.buffer);
serverManager.phase=0;
ret=SERVER_REPLY_OK;
}
else
{
free(serverManager.buffer);
serverManager.phase=0;
ret=SERVER_BAD_REPLY;
}
}
}
else
ret=SERVER_NO_REPLY;
break;
}
return ret;
}`