`
rstevens
  • 浏览: 95654 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Erlang学习: 通过端口与外部程序通信

阅读更多

端口是Erlang与外部程序通信的一种方式。

下图展现了端口与外部程序交互的方式。

 

OTP 常用的接口函数:

1、 打开端口

open_port/2

 

2、 通过端口,向外部程序发送数据

port_command

 

3、 通过端口,从外部程序接收数据

recieve

end.

 

4、 关闭端口

port_close/0

 

 

"Write an Erlang Port using OTP Principles" 这篇文章,详细讲解了如何通过OTP来编写一个端口应用,并通过这个应用来与外部的程序通信。

http://www.trapexit.org/Writing_an_Erlang_Port_using_OTP_Principles

 

代码在这里: http://www.kazmier.com/computer/port-howto.tar.gz

 

 

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    C#与Erlang的群通信

    5. **Erlang的Port机制**:Erlang可以调用外部程序(如C#编译的DLL),通过端口通信。 标签中的"C#"和"Erlang"强调了这是两种语言之间的通信,"通信"则意味着数据的交换和协同工作。在实际项目中,这种跨语言通信...

    erlang port driver test

    5. **关闭端口**:当不再需要与外部程序通信时,使用 `port_close/1` 关闭端口。 描述中的 "vs project" 可能是指这是一个对比或者竞争性的项目,可能是在比较不同方式与外部代码交互的效率、稳定性和灵活性。Port ...

    erlang -c语言程序接口.pdf

    端口是Erlang提供的一种特殊机制,用于实现与外部程序的交互。下面详细介绍端口机制的工作原理: 1. **端口的创建** ```erlang YourPort = open_port(PortName, PortSettings). ``` - `PortName` 表示端口名称...

    Erlang初学:Erlang的一些特点和个人理解总结

    端口映射器(port mapper)是Erlang内部的一个机制,它允许Erlang进程透明地与外部世界通信,无需关心底层协议的具体实现细节。 最后,Erlang有一些典型的缺点,比如社区和生态系统相比主流语言而言较小,学习资源...

    erlang_term:Erlang术语信息

    7. **端口(Port)**:端口用于与Erlang外部实体(如C节点或其他操作系统资源)交互。它们是Erlang进程模型的一部分,具有独立的内存空间和消息队列。 8. **引用(Ref)**:引用是全局唯一的标识符,主要用于跨节点...

    放逐:替代运行外部程序的端口。 它提供背压,无阻塞io,并解决与端口相关的问题

    在IT行业中,尤其是在分布式系统和并发编程领域,端口(Ports)经常被用来与外部程序进行通信。"放逐"(Exile)是一个基于Erlang和Elixir编写的库,它提供了一种替代方法来运行外部程序,同时解决了与传统端口相关的...

    RabbitMQ.docx

    - 为了能够通过Web界面访问RabbitMQ管理控制台(默认端口为15672),需要确保你的服务器允许外部连接这个端口。这可能需要在防火墙中打开端口或者暂时禁用防火墙: ``` firewall-cmd --permanent --add-port=...

    Erlang Reference Manual

    端口标识符用于标识 Erlang 进程与其他外部进程之间的通信通道。手册中解释了端口标识符的作用和使用场景。 **1.2.8 进程标识符(Pid)** 进程标识符是 Erlang 进程间的通信机制之一,用于标识进程的身份。手册中...

    porcelain:像老板一样处理外部流程

    Erlang端口API有20种奇怪的选项,使用起来很麻烦而且麻烦。 瓷器用一种更简单的方法代替了它,并为常见情况提供了默认值。 用户级别的功能包括: 理智的API 能够以同步或异步方式启动外部程序 通过多种方式将输入...

    rabbitmq教程

    1. **降低系统耦合度**:通过中间层的消息队列服务,可以降低生产者与消费者之间的耦合度。即使一方发生变化,只要消息格式不变,另一方不受影响。 2. **标准化消息格式**:统一消息格式有助于简化系统间的交互逻辑...

    ejabberd windows installer

    在Windows环境下,ejabberd通常通过安装程序进行部署,这正是"ejabberd windows installer"所涉及的内容。Ejabberd不仅仅是一个即时通讯服务器,它还支持多种功能,如多用户聊天、文件传输、群组聊天以及与其他通信...

    rabbitMQ两个服务

    RabbitMQ是一个轻量级的消息中间件,它允许应用程序之间通过消息进行异步通信,提高系统的可扩展性和解耦性。它的核心功能是接收和转发消息,确保消息的可靠传输,支持多种协议,如AMQP、STOMP、MQTT等。 **分布式...

    emqttd-ubuntu16.04-v2.3.0.zip

    7. **客户端连接**:现在,任何支持MQTT的设备或应用程序都可以通过TCP连接到EMQTT服务器,使用发布的主题进行通信。 EMQTT V2.3.0版本可能引入了一些新的特性、优化和修复,例如增强的性能、更多的插件支持、更好...

    STM32F1c8+8266连接EMQ

    在这个项目中,ESP8266被配置为通过Wi-Fi热点连接到互联网,这样STM32F1C8T6可以通过ESP8266与外部世界建立通信桥梁。 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息协议,特别适合...

    eJabbred-13.12

    **ejabberd-13.12:iOS XMPP应用开发中的服务器解决方案** ejabberd是一款强大的、开源的XMPP(Extensible ...通过深入学习和实践,开发者可以充分利用ejabberd的功能,打造出高效且用户体验优秀的即时通讯应用。

    Python部署web开发程序的几种方法

    与Flup不同的是,spawn-fcgi是一个独立的外部程序。它能够支持多种语言的FastCGI实现,如PHP、Python和Perl等。 #### 7. SCGI SCGI(简单公共网关接口)类似于FastCGI,但并未得到广泛推广。在Nginx中,可以通过`...

Global site tag (gtag.js) - Google Analytics