问题标签 [erlang-ports]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - Erlang:与 Xalan 接口:端口驱动程序还是 nif?
我想要一个真正的 XSLT 处理器与 erlang 一起工作。哪个是最好的接口、nif 或端口驱动程序?根据 nif 文档,nif 调用会阻塞运行时,因此它们不会花费很长时间。处理长 xml 文档是否太长?
另外,我想在转换期间允许 erlang 回调。这似乎可能吗?可以使用 nif 但不能使用端口驱动程序,反之亦然?
我从来没有写过任何 C,所以我认为这是一个很好的介绍。Xalan 是 C++。我认为 nif 可以使用它,对吗?
erlang - Erlang:对港口所有者死亡的鲁棒性
当拥有派生端口的进程死亡并由主管重新启动时会发生什么?
有没有办法让老港口不随主人一起死去,让新主人“接管”?
如果做不到这一点,是否可以确保生成的进程在其端口死亡时终止?
bash - 通过 Erlang 端口调用 Shell 脚本时行为异常
当从 Erlang 调用 shell 脚本时,我通常需要它们的退出状态(0 或其他),所以我使用这个函数运行它们:
这工作得很好,直到我用它来启动一个分叉程序并退出的脚本:
(在实际用例中,还有很多参数,并且在将它们传递给程序之前进行了一些按摩)。从终端运行时,它会按预期显示图像并立即退出。
但是从 Erlang 运行,它没有。在日志文件中,我看到它开始正常:
并eog
出现窗口。但我不明白
直到终止eog
进程(kill
关闭或关闭窗口),这不适合我的要求。为什么行为上的差异?有没有办法解决它?
networking - 在erlang中通过UDP发送数据包
所以我试图将 udp 数据包发送到计算机上的侦听端口,该端口未连接到同一个 LAN,但通过 erlang 中的 gen_udp 可以访问互联网。
我通过打开{ok, Socket} = gen_udp:open(8887).
端口gen_udp:send
(节点),所以我想知道我是否做错了什么?,我检查了防火墙和erlang,并且允许使用epmd。
opencv - Erlang 上的 OpenCV
我想在我的Erlang应用程序中使用OpenCV 。一种解决方案是编写一个 Erlang 端口等,但我确信它之前已经完成。
理想的结果是能够从 Erlang 配置 OpenCV,并且永远不会接触一行 C 代码。但这可能吗?你会怎么做?
c++ - 通过端口从 Erlang 调用 C 函数的最快和最简单的方法是什么?
Francesco Cesarini 的“Erlang Programming”一书提供了一个很好且易于上手的将 Erlang 连接到 Ruby 的示例(通过端口实现):
但是,本例中使用的 Ruby 代码使用 Erlictricity 库,它为程序员完成了所有低级的事情:
我尝试使用这个稍作修改的 test.erl 代码:
说一个非常简单的 C 文件:
但不幸的是 test.erl 中的接收循环收到一条消息{#Port<0.2028>,{exit_status,2}}
我的问题是:是否可以在 C/C++ 中实现类似的东西?是否有任何现成的 Erlang 库可以通过类似于 Erlictricity for Ruby 的端口与 C/C++ 对话?
python - 从 Erlang 打开一个 Python 端口:没有回复消息
根据 OTP in Action 书的第 12 章和 Cesarini 的书,我编写了这个 Erlang 代码:
二郎:
Python:
Erlang 代码在 recieve 子句处暂停 - 它永远不会收到任何消息。
我还从常规 Linux shell 检查了 Python - 它打印出每个用户输入(1 - “Python got 1”)。
这里的错误在哪里?为什么我的 Erlang 代码没有得到任何回报?
c++ - 如何将 Erlang 连接到 C++?
我写了一段非常简单的 C++ 代码:
我已经在 shell 中对其进行了测试——它返回一个在 shell 中输入的值。
但是当我尝试从 Erlang 调用它时,它返回 {exit_status,0},据我了解,这意味着它刚刚退出。
Erlang 代码在这里:
如何将我的 Erlang 端口连接到这个简单的 C++ 代码?
升级版:
将 C++ 代码更改为此(无用的版本):
Erlang 端口进程仍然获得 {exit_value,0}。如果我在 shell 中运行此代码,则在按两次 Return 之前不会回显键盘输入。
c++ - Erlang 端口无法正确处理 C++/Qt 回复
我正在尝试通过 Erlang 端口将 Erlang 程序与一个简单的 Qt 窗口应用程序进行通信。
问题是 Qt 窗口事件 ( on_pushButton_clicked()
) 的结果仅在窗口关闭后显示在 Erlang 端口中,而不是在按下按钮时显示:
Erlang(在这里发送消息什么都不做,我们有兴趣从 Qt 获取数据):
运行它并在窗口中填充文本字段的结果是什么(Erlang 什么也得不到,只是在receive
子句中等待):
只有当我手动关闭窗口时 Erlang 才会说:
那么,为什么我不立即将 Qt 中的数据导入 Erlang 端口呢?
UPD。解决方案:
解决方案是 flush() Qt 的缓冲区:
而不是fprintf(stdout, "window_input:");
我用
它奏效了。
PS 但是,我不明白为什么在控制台中测试同一个 Qt 应用程序时没有发生这个问题 - 它立即返回数据我填写了窗口中的文本字段(即事件)。