It only accepts clients in active mode
This will be a real problem if the FTP client is behind a router.
If you plan on using this on your localnet only, active is the simplest way for the Arduino server.
If you want to see FTP client code for the Arduino ethernet shield, here is mine.
Hi,I recently had to implement a FTP server on a Arduino Mega board and I found yours very interesting !It works fine after a tiny bug fix (timeout casting).My problem now is that it is quite slow when storing data on my embedded SD card. I made some debugging and found that the data.read call in FtpServer::doStore very often returns 0 meaning the Arduino board is waiting for the FTP client to send something. I tried with several FTP Client as Filezila running on a PC and it seems the consequence of this is that the maximum rate is abouty 10 KBits/s...Did you face this kind of problem as well ?Thanks for your help and, once again, thanks a lot for your hard work on the FTP protocol implementation !Regards,Thierry
I made some debugging and found that the data.read call in FtpServer::doStore very often returns 0 meaning the Arduino board is waiting for the FTP client to send something
Concerning the change I made :FtpServer.cpp : line 101 : millisTimeOut = FTP_TIME_OUT * 60 * 1000 => millisTimeOut = (uint32_t)FTP_TIME_OUT * 60 * 1000;I did that because the timeout systematically triggered because millisTimeOut was not casted to uint32.