erlang可以使用命名管道而不是套接字吗?

时间:2014-10-01 12:45:14

标签: erlang ports erlang-nif

NGINX和其他服务器提供使用命名管道(mkfifo)的选项。

erlang可以使用这些代替端口进行nif交互。如果我想与我的NIF建立70,000个连接怎么办(不要判断)。

1 个答案:

答案 0 :(得分:3)

简而言之,没有。

Erlang FAQ on opening device files中介绍了这一点。归结为很难/不可能在Unices(更不用说Windows)中以可移植的方式编写Erlang运行时,这样它就可以访问诸如设备文件和命名管道之类的东西而不会阻塞至少其中一些。这种阻塞会搞砸软实时"软实时" Erlang运行时的本质。

可能是编写一个C程序,它与Erlang运行时作为"端口进程"进行通信,并且该程序可以通过命名管道进行通信(并阻止或没有或没有搞砸Erlang运行时。)