Erlang和c程序之间的通信

时间:2015-05-07 09:52:02

标签: erlang port

当erlang模块通过端口与c程序通信时,它会向c程序发送一个数据包,当我使用此配置创建端口时,我的问题是

Port = open_port({spawn, ExtPrg}, [{packet, 2}]).
  • 数据包中发送的参数是什么?
  • 每个参数的长度是多少?

1 个答案:

答案 0 :(得分:0)

Erlang模块和C程序通过发送字节流(字节序列)通过stdin和stdout进行通信。

使用

创建端口
Port = open_port({spawn, ExtPrg}, [{packet, N}]). 

(N的有效值为1,2,4)

告诉erlang发送的数据包将采用以下格式:

  • N字节:数据包的数据长度(我们可以得出数据长度)
  • 数据长度字节:数据