1

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

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

4

1 回答 1

3

简而言之,没有。

这在Erlang 关于打开设备文件的常见问题解答中有介绍。归结为很难/不可能以可移植的方式跨 Unices(更不用说 Windows)编写 Erlang 运行时,以便它可以访问设备文件和命名管道等内容,而不会阻塞其中的一些内容。这种阻塞会破坏 Erlang 运行时的“软实时”特性。

可能编写一个与Erlang 运行时通信的 C 程序作为“端口进程”,并且该程序可以通过命名管道进行通信(并且阻塞或不阻塞或其他任何不搞砸 Erlang 运行时)。

于 2014-10-01T13:15:47.370 回答