問題タブ [event-based-programming]

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 に答える
557 参照

node.js - Node.jsの非ブロッキング動作に関する初心者のクエリ

この素晴らしいチュートリアルに従ってきました。Javascriptと関数型プログラミングに慣れていないので、ノンブロッキングが本質的に何を意味するのかを理解したかったのです。ブロッキング動作を実現するために、JSコードに意図的に10秒の「スリープ」を追加しました。

このコードは、ブラウザから呼び出している別の「サーバー」スクリプトからのコールバックとして使用されています。サーバースクリプトに対して100のリクエストを同時に実行すると、10秒後に100の応答が並行して返されると予想していました。ただし、このコードはリクエストを1つずつ実行します。これは確かにnode.jsの背後にある哲学に失敗しますよね?? これは、Javaサーブレットでこのような悪いコードを実行し、Tomcatで実行した場合でも発生しません。

このシナリオでのもう1つの観察結果は、リクエストが時系列で処理されなかったことです。つまり、リクエストはランダムに実行されます。これは私にはよく聞こえません!!

私のコードにはいくつかの問題があると思います-私の2つのクエリ(もう1つは年代学に関するもの)への回答とともに、ここでの概念を理解するのを手伝ってください。

ありがとう !

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

multithreading - Scalaアクターに自律的で反応的な動作を統合する最良の方法は?

私は経験豊富な Java プログラマーで、アクター ベースの Scala アプリケーションの開発を始めています。私が現在開発中のアプリケーションでは、自律的および反応的な動作の両方を示す Sender アクターの実装に対処する必要があります。シナリオは次のとおりです (疑似コード)。

私の質問は、自律性と反応性を統合する必要がある Scala アクターの自律的な動作を表現する最良の方法はどれですか (このペーパーで説明されているように)?

言い換えれば、上記の例で Sender アクターをコーディングする最良の方法/スタイルはどれですか?

私は解決策を思いつきました(以下に報告されています)が、私はスカラの第一人者ではないので(まだ:))、実装したものがより良い/より良い解決策で改善できるかどうか知りたいです.

特に、現在の実装で気になるのは、StopNotifier からの STOP メッセージの受信に迅速に対応できるようにするために、Sender の各実行ステップでメッセージを自己送信する必要があったという事実です(つまり、 A、B を Stdout アクターに送信します)。物事を行う正しい方法であるには、私にはトリッキーすぎるようです:)。

私は他のscala言語構造(非同期送信、反応など)を使用して他のソリューションを開発しようとしましたが、何らかの形で他の問題/トリックに影響を与えているように見えました.

scala アクターの自律性とリアクティブ動作の統合を処理するためのより良いソリューションを持っている人はいますか?

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

webserver - Websocket はどのように永続的な接続を維持し、ライブでどの程度安定して使用できますか?

データがクライアントにすぐにプッシュされるイベントベースのサーバーが必要です。フォーラムで読んだように、websocket ベースのサーバーが私の最善の策です。それが機能していることと、製品ボックスでの使用がどれほど安定しているかを説明してください。

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

javascript - Data-Context-Interaction (DCI) と javascript でのイベント プログラミング

最近、Trygve Reenskaugによる DCI に関する次のプレゼンテーションを見ました 。うーん、ソフトウェアのさまざまなコンポーネント間の相互作用をコードで見ることは魅力的なアイデアです。

JavaScript で DCI の例を見つけようとしましたが、うまくいきませんでした。それから私は疑問に思い始めました。DCI パターンは、イベント化されたプログラミング パターンとは対照的ではありませんか?

イベント化されたプログラミングは、javascript でトレンディになっています。これは、デカップリングが可能であり、従来の継承の概念が js にネイティブではないためだと思います。イベント プログラミングの利点は理解できたと思いますが、イベント メッセージに従う必要がある場合、デバッグが非常に難しいことにも気付きました。

両者の概念は相反するというのが正しいでしょうか。それとも私はそれを間違えましたか?私が見逃した js での DCI の実装例はありますか? コンセプトを掘り下げるには何を見ればいいですか?

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

asynchronous - pcap 非同期パケットキャプチャ

pcap ライブラリで IEEE802.11 パケットをキャプチャしています。まだパケットを受信して​​処理するために pcap_loop とコールバック関数を使用していました。しかし今、デバイスが定期的にリッスンしているwifiチャネルを切り替えました。残念ながら、pcap_loop がブロックされているため、タイムアウトを使用して関数を呼び出すことができません。次に、pcap_dispatchについて読みましたが、非同期でどのように機能するかはよくわかりません。

何も解決しません。

だから、pcapキャプチャパケットを非同期/イベントベースにする方法、つまり私のジレンマを解決する方法を誰かが私に説明できますか?

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

perl - Perl AnyEvent 同時実行の内部

クライアント接続ごとに「AnyEventタイマー」ウォッチャーオブジェクトを作成するサーバーがあります(AnyEventループに追加します)。

したがって、コールバックは $interval 秒ごとに実行されます。多くのクライアントがある場合、いくつかのコールバックを同時に実行する必要があります。AnyEvent はこれをどのように処理しますか? それらのコールバックを次々に実行しますか、またはこの場合、これらのコールバックが同時に実行されるように、何らかの並行性メカニズムがありますか? (たとえば、複数のスレッドを作成することにより、同時に実行する必要がある複数のコールバックの実行を高速化するため)
私のサーバーの場合、コールバックはデータベース ルックアップを実行します。データベース接続のデータベース ハンドルがイベント ループの外で初期化されました。私の懸念は、AnyEvent に同時実行メカニズムがある場合、1 つのコールバックが別のコールバックがデータベース ルックアップを終了してデータベース ハンドルが解放されるまで待機する必要があるため、コールバックを同時に実行できないことです。
PS答えてくれた「池上」に感謝します。