この記事は公開から3年以上経過しています。
.NETのFTPライブラリFluentFTP
で、FTP接続時やFTPコマンド実行時にタイムアウトエラーで例外が発生するときの対応。
問題
FluentFTPでFTP接続する際やFTPコマンド実行中に
Timed out trying to read data from the socket stream!
というタイムアウトエラーで例外が発生する。
原因
FluentFTPライブラリ内のソケットストリームデータ読み取り時に既定のタイムアウトである1,500msを超えた。
ライブラリ内で例外が発生した箇所のソース:
対応
実運用環境に合わせて、ReadTimeoutの設定値を適切(長め)に設定する。
サンプルソースコード(C#)
private static void Main(string[] args)
{
using (var ftpCli = new FluentFTP.FtpClient())
{
ftpCli.Host = "FTPホスト名/IP";
ftpCli.Credentials = new System.Net.NetworkCredential("FTPユーザー名", "FTPパスワード");
// ここでは例としてReadTimeoutを10分に設定
ftpCli.ReadTimeout = 10 * 60 * 1000;
ftpCli.Connect();
var items = ftpCli.GetListing();
}
}
参考ウェブサイトなど
- GitHub
robinrodricks/FluentFTP
以上です。