問題タブ [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.

0 投票する
1 に答える
1225 参照

erlang - Erlang: Interfacing with Xalan: port driver or nif?

I'd like to get a real XSLT processor working with erlang. Which would be the best interface, nif or port driver? According to the nif documentation, nif calls block the runtime, so they should not take long. Is processing a long xml document too long?

Also, I'd like to allow erlang callbacks during the transformation. Does that seem possible? Possible with nif but not port drivers or vice versa?

I've never written any C, so I figured this would be good introduction. Xalan is C++. I assume nif can work with that, right?

0 投票する
2 に答える
278 参照

erlang - erlang-sqlite3のポートから受信したメッセージ

Erlang-sqlite3はポートドライバーを使用してSQLiteデータベースに接続し、ポートからメッセージを受信します

ポートからのメッセージは次のようになると思いました:

したがって、句のio:format行のコメントを解除するときは、実際の応答を確認する必要があります。私はしません; 代わりに私は(のために)見る{Port, Reply}{data, ...}test.erl

  1. どこが間違っているのですか?
  2. ポートエラーで表示されるメッセージは次のようになります{'EXIT',Port,Reason}か?
0 投票する
1 に答える
437 参照

erlang - Erlang:港の所有者の死に対する頑健性

生成されたポートを所有するプロセスが停止し、スーパーバイザによって再起動されるとどうなりますか?

  1. 古い港がその所有者と一緒に死なないようにし、新しい所有者が「引き継ぐ」方法はありますか?

  2. それができない場合、ポートが停止したときに生成されたプロセスが確実に終了するようにすることは可能ですか?

0 投票する
2 に答える
1636 参照

bash - Erlangポート経由で呼び出された場合、シェルスクリプトは奇妙な動作をします

Erlangからシェルスクリプトを呼び出すときは、通常、終了ステータス(0など)が必要なので、次の関数を使用して実行します。

これを使用して、プログラムをフォークして終了するスクリプトを開始するまで、これは正常に機能しました。

(実際のユースケースでは、かなりの数の引数があり、プログラムに渡される前にいくつかのマッサージがあります)。ターミナルから実行すると、イメージが表示され、期待どおりにすぐに終了します。

しかし、Erlangから実行しているので、そうではありません。ログファイルで、正常に起動していることがわかります。

eogウィンドウが表示されます。しかし、私は得られませ

eogプロセスを強制終了するまで(killウィンドウを閉じるか、ウィンドウを閉じるだけ)、これは私の要件には適していません。なぜ行動の違い?それを修正する方法はありますか?

0 投票する
1 に答える
1462 参照

networking - erlang で UDP 経由でパケットを送信する

同じLANに接続されていないが、erlangのgen_udp経由でインターネットにアクセスできるコンピューターのリスニングポートにudpパケットを送信しようとしています。

最初のノードを開始してポート ( {ok, Socket} = gen_udp:open(8887).) を開き、同じ方法で他のノードのポートを開きます。1 つのノードから別のノードにパケットを送信してgen_udp:sendも、何も受信しません (受信側で flush() を試行します)。ノード)、だから私は何か間違っているかどうか疑問に思っていますか? 、ファイアウォールとerlangとepmdが許可されていることを確認しました。

0 投票する
1 に答える
2077 参照

opencv - ErlangのOpenCV

ErlangアプリケーションでOpenCVを使用したいと思います。解決策の1つは、Erlangポートなどを作成することですが、以前に作成されたと確信しています。

理想的な結果は、ErlangからOpenCVを構成できるようになり、Cコードの行に触れないようにすることです。しかし、これは可能ですか?どのようにそれをしますか?

0 投票する
2 に答える
1238 参照

c++ - ポート経由で Erlang から C 関数を呼び出す最も速くて簡単な方法は何ですか?

Francesco Cesarini の「Erlang Programming」本には、Erlang を Ruby に接続する (ポート経由で実装された) 優れた簡単に開始できる例が記載されています。

ただし、この例で使用されている Ruby コードは Erlictricity ライブラリを使用しており、プログラマの低レベルの処理をすべて実行します。

このわずかに変更された test.erl コードを使用しようとしました。

非常に単純な C ファイルと話すには:

しかし残念ながら、test.erl の受信ループはメッセージを受け取ります。{#Port<0.2028>,{exit_status,2}}

私の質問は、C/C++ で同様のものを実装することは可能ですか? Erlictricity for Ruby と同様のポートを介して Erlang が C/C++ と通信するための既製のライブラリはありますか?

0 投票する
2 に答える
743 参照

python - ErlangからPythonポートを開きます:返信メッセージはありません

OTP in Actionの本とCesariniの本の第12章に基づいて、私はこのErlangコードを作成しました。

Erlang:

Python:

Erlangコードはrecieve句で中断します-メッセージを受け取ることはありません。

また、通常のLinuxシェルからPythonをチェックしました。これにより、すべてのユーザー入力が出力されます(1-「Pythongot1」)。

ここの間違いはどこにありますか?なぜ私のErlangコードは何も戻らないのですか?

0 投票する
3 に答える
1177 参照

c++ - アーランをC++に接続するにはどうすればよいですか?

私は非常に単純なC++コードを作成しました。

シェルでテストしました。シェルに入力された値を返します。

しかし、Erlangから呼び出そうとすると、{exit_status、0}が返されます。これは、私が理解しているように、終了したばかりであることを意味します。

Erlangコードはここにあります:

Erlangポートをこの単純なC++コードに接続するにはどうすればよいですか?

UPD:

C ++コードを次のように変更しました(役に立たないバージョン):

Erlangポートプロセスは引き続き{exit_value、0}を取得します。このコードをシェルで実行すると、Returnキーを2回押すまで、キーボード入力はエコーされません。

0 投票する
1 に答える
610 参照

c++ - ErlangポートはC++/Qt応答を正しく処理しません

Erlangポートを介してErlangプログラムをシンプルなQtウィンドウアプリと通信しようとしています。

問題は、Qtウィンドウイベント(on_pushButton_clicked())の結果が、ボタンが押されたときではなく、ウィンドウが閉じられた後にのみErlangポートに表示されることです。

Erlang(メッセージの送信はここでは何もしません。Qtからデータを取得することに関心があります):

これを実行してウィンドウのテキストフィールドに入力した結果は何もありません(Erlangは何も取得せず、receive句で待機するだけです)。

手動でウィンドウを閉じた場合のみ、Erlangは次のように述べています。

では、QtからErlangポートにすぐにデータを取得しないのはなぜですか?

UPD。解決:

解決策は、Qtのバッファをflush()することでした。

fprintf(stdout, "window_input:");私が使用する代わりに

そしてそれはうまくいった。

PSただし、コンソールで同じQtアプリをテストしても、この問題が発生しなかった理由がわかりません。ウィンドウのテキストフィールドに入力した直後に(つまり、イベント時に)データが返されました。