Elixir erlang:ftp.send被卡住了
我在elixir项目中使用Elixir erlang:ftp.send被卡住了,ftp,erlang,elixir,Ftp,Erlang,Elixir,我在elixir项目中使用Erlangftplib将文件发送到ftp服务器 我调用send函数将文件上传到ftp服务器。 大多数情况下,它会成功上传文件,但有时会卡在这里,而不会移动到下一行 根据文档,它应该返回:ok或{:error,reason},但只是停留在:ftp.send 谁能给我提个建议吗?我不熟悉Erlang 版本:Elixir 1.7.3(使用Erlang/OTP 21编译)ftp模块有两种类型,都是在ftp服务初始化期间设置的 以下是文件的摘录: {timeout,timeou
Erlang
ftp
lib将文件发送到ftp服务器
我调用send
函数将文件上传到ftp服务器。
大多数情况下,它会成功上传文件,但有时会卡在这里,而不会移动到下一行
根据文档,它应该返回:ok
或{:error,reason}
,但只是停留在:ftp.send
谁能给我提个建议吗?我不熟悉Erlang
版本:Elixir 1.7.3(使用Erlang/OTP 21编译)
ftp
模块有两种类型,都是在ftp
服务初始化期间设置的
以下是文件的摘录:
{timeout,timeout}
连接超时。默认值为60000(毫秒)
{dtimeout,dtimeout}
数据连接超时。客户端等待服务器连接到数据套接字的时间。默认值为无穷大
数据连接超时的默认值为无限
,这意味着如果出现一些网络问题,它将被挂起。为了克服这个问题,我建议您将这个值设置为有意义的值,并适当地处理应用程序中的超时
{:ok,pid}=:ftp.start\u服务(
主机:“…”,超时:30_000,数据超时:10_000
)
:ftp.send(pid,'.{local_path}','.{remote_path}'))
谢谢..原因可能是您提到的dtimeout
的默认值…当然是这样,我不会把胡乱猜测当作答案。