《Erlang程序设计》学习笔记-第12章 接口技术

第12章 接口技术

1. @spec open_port(PortName, [Opt]) -> Port
PortName是下列内容之一
    {spawn, Command} 启动一个外部程序,Command是外部程序的名字。除非它是一个Erlang运行时可以找到的内联驱动程序,否则Command所指定的程序会运行在Erlang运行时系统这外的系统进程里。
    {fd, In, Out} 允许Erlang进程去访问任何一个已经由Erlang打开的文件描述符。In可以用来发送数据到标准输入,Out可以用来接收通过标准输出发送的数据。
Opt是下列内容之一
    {packet, N}数据凶会以N(N应该是1,2,4之一,分别代表8位,16位,32位的整数)字节长度的数据作为包的长度计数。
    {steam}发送的消息不含数据包的长度数据。使用这个参数的应用程序必须知道如何去处理这些包。
    {line, Max}发送的消息基于行。如果一行数据超过Max指定的字节数,那么这一行就会在Max指定的位置分拆为两行。
    {cd, Dir}只对{spawn, Command}参数有效。它表明外部程序会在Dir指定的目录中启动。
    {env, Env}只对{spawn, Command}参数有效。外部程序的环境可以通过列表Env中的环境变量来扩展。Env是一个由形如{VarName, Value}的数据构成的列表,其中的VarName和Value都是字符串。
2. 创建端口的那个进程被称为端口连接进程。
3. 一个端口的通信由:端口连接进程,端口和外部程序组成。
4. 在创建Port时,erlang会自动启动外部程序并与之连接,外部程序的标准输出和标准输入会指向erlang。
5. 一个端口其实就是一个Erlang进程。可以向它发送下列命令(PidC是端口连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值