問題タブ [message-passing]

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

popup - Chrome拡張機能では、バックグラウンドページがpage_actionポップアップと通信できます

コンテンツスクリプトがを使用してバックグラウンドページと通信することは可能です

バックグラウンドページがを使用してコンテンツスクリプトと通信することは可能です

page_actionポップアップは、を使用してバックグラウンドページと通信することができます。

それで、背景ページがポップアップと話す方法はありますか?

ユースケースは、

  • ポップアップが開いていて、ページから情報を取得したい

  • そのため、バックグラウンドページにリクエストを送信します

  • バックグラウンドページがコンテンツスクリプトにリクエストを送信するようになりました

  • コンテンツスクリプトは、応答をバックグラウンドページに送り返します。

  • したがって、バックグラウンドスクリプトはこれをポップアップに送信する必要があります!!

    それはどのように起こりますか?

0 投票する
5 に答える
5220 参照

concurrency - メッセージの受け渡しとロック

パフォーマンスに関して、メッセージ パッシング同時実行方式とロックベースの同時実行方式の違いは何ですか? ロックを待機しているスレッドがブロックされるため、他のスレッドを実行できます。その結果、メッセージ パッシングがロックベースの同時実行よりも高速になる方法がわかりません。

編集: 具体的には、ロック (またはアトミック操作) を使用した共有データ アプローチと比較して、Erlang のようなメッセージ パッシング アプローチについて説明しています。

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

objective-c - Obj-CブロックでwhileTrue制御フローメソッドを実装するにはどうすればよいですか?

ブロックを使用してObjective-CでSmalltalkスタイルのwhileTrue:メソッドのようなものを実装することは可能ですか?具体的には、次の代わりに:

(OOBooleanと呼ばれるboolプリミティブのラッパーを介して)次のようなことができるようにしたいと思います...

しかし、これがどのように実装されるのか理解するのに苦労しています...

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

javascript - メッセージ パッシングでオブジェクト タイプが失われる

私はChrome拡張機能に取り組んでおり、次の問題があります。あるイベントが発生すると、私のバックグラウンド ページは APIで新しいタブ (ページ) を作成しchrome.tabs.create、オブジェクトを送信します。

送信されたオブジェクト (アイテムと呼ばれる) は、アイテムと呼ばれる特定のクラス (プロトタイプ) を持つオブジェクトのリストです。

ここにいくつかのコード:

一方、新しく作成されたページでは、送信されたオブジェクトを受け取ります

問題は、オブジェクト リストを受け取ったときにnewpage.html、オブジェクト タイプが失われていることです。実際console.dir()に newで使用すると、 itemsListbackground pageのオブジェクト タイプは正しく報告されますが、受信したアイテム リスト オブジェクトでは報告されません。newpage.html

background.html文字列を介して手動でデータを手動でシリアル化し、手動で逆シリアル化newpage.htmlすることもできますが、これを実行してリスト内のオブジェクト タイプ (つまりアイテム) が失われないようにするためのより良い方法があるかどうかを知りたいです。

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

message-passing - 大きなメッセージをWCFサービスに送信するには?

私は WCF サービスに 1 つの DataContract を持っています。それには 1 つの配列があり、クライアント コードでその配列を設定しています。配列を 100 万以上に設定すると、BadRequest というエラーがスローされます。System.ServiceModel.ProtocolException : リモート サーバーが予期しない応答 (400) の不正な要求を返しました。

これを克服する方法は?より多くのデータをサービスに送信したい。

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

javascript - Chrome 拡張機能: メッセージ パッシングの混乱

ページ上のチェックされたアイテムの数をポップアップに送信しようとしています。ポップアップアラートのadd入力ボタンは、Web ページでチェックされたチェックボックスの量をコンソールに送信します。

私のスクリプトはこれを行っておらず、メッセージ パッシングのしくみに混乱があるのではないかと考えました。ここに私が持っているものがあります:

マニフェスト:

Popup.html

main_content_script.js

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

jquery - jQueryAjaxが外部PHPから変数を返さない

フォームから情報を取得してform.phpに送信し、そこで処理されるこのコードがあります。form.phpは、#successに入力されるはずの変数(フルネーム:$フルネームEメール:$ emailリンク:$ link命令:$ instr)をエコーし​​ます。私のコードは、FirefoxとChromeで2つの異なる方法で動作します。

Firefoxでは、出力を正しく表示するform.phpに送信されますが、明らかにそこに送信するべきではありません。メインページにとどまり、その出力を#successで確認する必要があります。基本的に、ajaxは機能しません。

Chromeでは、ajaxは機能しますが、フルネーム:メール:リンク:手順:を#successにプルするだけです。本質的に、jQueryはPOSTを介して変数を渡していません。

mainpage.php:

form.php:

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

javascript - Chrome 拡張機能でのコンテンツ スクリプトからバックグラウンド ページへのメッセージの受け渡し

Google Chrome 拡張機能のメッセージ パッシングの問題:

この Chrome 拡張機能では

マイポップアップページ:

私のスクリプトページ:

コンテンツ スクリプトから応答がありません。

編集:

@ serg に従って、コードをバックグラウンド ページに移動しました。しかし、それでも機能していません

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

ruby - Ruby プログラミング スタイル: 非同期メッセージ パッシング

うまくいけば、これはあまりにも主観的ではありません...

私は、非同期メッセージベースのプログラミングのアイデアに慣れていません。つまり、すべてが同時に実行され、受信したメッセージに応答してのみ動作する自己完結型の「ミニプログラム」のコレクションを作成することです。

このスタイルは必然的に多くの CPU サイクルを消費することを理解しています。


それ以外に、非同期メッセージ パッシング スタイルの賛成派と反対派は何ですか?

0 投票する
6 に答える
13540 参照

c++ - アクターモデル:Erlang / OTPが特別なのはなぜですか?別の言語を使用できますか?

私はErlang/OTPの学習を検討しており、その結果、アクターモデルについて読んでいます(大丈夫、スキミング)。

私が理解していることから、アクターモデルは単なる関数のセット(Erlang / OTPでは「プロセス」と呼ばれる軽量スレッド内で実行される)であり、メッセージパッシングを介してのみ相互に通信します。

これは、C++やその他の言語で実装するのはかなり簡単なようです。

各プロセスは、派生したBaseActorのインスタンスです。アクターは、メッセージパッシングを介してのみ相互に通信します。(つまり、プッシュ)。アクターは、初期化時に中央マップに自分自身を登録します。これにより、他のアクターがそれらを見つけ、中央関数がそれらを実行できるようになります。

今、私はここで1つの重要な問題、つまり、譲歩の欠如が1人の俳優が不当に過度の時間を消費する可能性があることを見逃していることを理解しています。しかし、クロスプラットフォームのコルーチンは、C ++でこれを困難にする主なものですか?(たとえば、Windowsにはファイバーがあります。)

しかし、私が見逃しているものは他にありますか、それともモデルは本当にこれほど明白ですか?