curl在嵌入系统ftp download中的一个超时设置

转载时请注明出处和作者联系方式:http://blog.csdn.net/mimepp
作者联系方式:YU TAO <yut616 at sohu dot com>

近来涉及到了curl在ftp download过程中的一个超时问题,在这里记录一下。

curl是一个不错的可以进行网络传输的open source,它实现了大量的连接方式,如:FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE.
详细可以参考: http://curl.haxx.se/

在嵌入系统中,涉及到ftp的firmware升级,在thread中,加入了操作curl的部分。
主要涉及
curl_easy_init
curl_easy_setopt, CURLOPT_USERPWD, CURLOPT_URL, CURLOPT_CONNECTTIMEOUT, CURLOPT_TIMEOUT,CURLOPT_FTPPORT,CURLOPT_WRITEFUNCTION,CURLOPT_WRITEDATA,CURLOPT_NOPROGRESS,CURLOPT_PROGRESSFUNCTION,CURLOPT_VERBOSE,CURLOPT_FTP_USE_EPSV
curl_easy_perform
curl_easy_cleanup

如果在连接过程中,如果出现异常,如网线拔掉,就需要处理CURLOPT_CONNECTTIMEOUT,并且返回CURLE_COULDNT_CONNECT。
如果在下载过程中,即已经连接上了,后面如果出现异常,如网线拔掉,就需要处理CURLOPT_TIMEOUT,并且返回CURLE_OPERATION_TIMEOUTED。
在上面的两种情况下,可以做一下异常处理,提示某些信息,即可满足的需要了。

你可能感兴趣的:(curl在嵌入系统ftp download中的一个超时设置)