Elixir erlang:ftp.send被卡住了

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

我在elixir项目中使用
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
的默认值…当然是这样,我不会把胡乱猜测当作答案。