在做COAP部分測試下行數據到iot設備的時候,發現有的時候可以正常發送,有的時候就不行,通過抓包觀察,排除代碼層面的問題;
從抓包來看,早一秒內回復的話,就能正常的發出去,超過一秒就失敗重試了,繼而想到了是不是Nginx配置的問題,查看nginx的配置發現,此端口下面的配置如下:
proxy_timeout 1s;
proxy_connect_timeout 1s;
難道這么巧的嗎?改成10s試試?
proxy_timeout 10s;
proxy_connect_timeout 1s;
果然在10s內發回給IOT設備都是OK的,果斷查一查這個配置的用法;原來proxy_timeout是決定這個udp端口上報數據的時候保持的時間,超過這個時間這個通信通道及端口就被釋放掉了,所以發送的時候就會失敗的;