请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC3100MOD 而不使用 RTOS。
我有 HTTP 客户端 POST 示例(HTTPPostMethod 函数)、直到它尝试获取服务器响应的最后一行。
RetVal = readResponse (httpClient);
这在 UART_READ()结束时挂起,等待:
/*等待所有剩余字节被接收*/
while (***->ActiveBufferWriteCounter < len);
在 ActiveBufferWriteCounter 中有4个字节并等待 len 8。
我认为这是因为服务器尚未响应。
如果我在调用 readRespinse()之前添加500毫秒的延迟,以使服务器响应时间到达,则它可以正常工作,并得到200的正确响应代码。
为什么它会挂起? 如何在调用 readResponse()之前检查服务器响应是否发生?
服务器是远程的(在云中)、响应可能需要很多秒、具体取决于流量、因此、除了固定的延迟外、还需要更好的了解方法。