問題タブ [reactor]

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

orm - ColdFusionのReactorでテーブルイテレータを取得するにはどうすればよいですか?

私はReactorとColdFusionforORMを使用しており、テーブルXgetAllのすべてのレコードを含むクエリを返すメソッドを提供するテーブルXのゲートウェイオブジェクトを取得する方法を知っていますが、代わりにオブジェクトイテレータが必要です。getRelatedIterator関連するテーブルY、Zなどのデータの各レコードでsを使用します。

これを行う方法はありますか?

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

coldfusion - CF Reactor を使用してレコードの列名を取得するには?

レコード オブジェクトの列名のリスト/配列を取得したいと思います。メソッド名をループすることでこれを取得できると思いますが、よりクリーンなものがあることを望んでいましたか?

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

html - ColdFusion Reactor 用のフォーム作成ツール?

ColdFusion で Reactor を使用していますが、レコード オブジェクトから単純な html フォームを自動的に作成するツールがあるかどうか疑問に思っています。

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

java - 制限されたスレッドによる複数の実行パス

私は挑戦的な非同期プログラミングのタスクを抱えています.誰かがJavaでそのようなことをしたのだろうか. 次のように使用されるフレームワークを開発していると仮定しましょう。

  1. カスタム Java を実行する
  2. フレームワーク メソッドを呼び出す
  3. カスタム Java を実行する
  4. フレームワーク メソッドを呼び出す

上記のコードは、ユーザーの観点からは同期的です。ただし、フレームワーク メソッドは内部的に長い非同期操作を実行し、操作中にユーザー スレッドをブロックすることは効率的ではなく、実行可能ではありません。ステップ1〜4の数千の同時実行をサポートする必要がある可能性があるため、ユーザースレッドをブロックすることは現実的ではありません...つまり、X> YのYスレッドを使用してX個の同時Javaコード実行をサポートする方法を探しています。 .. Reactor パターンが IO で行っていることと多少似ていますが、より一般的です.. 何か考えはありますか?

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

.net - .NET Reactor による .NET アセンブリの保護

Visual Studio 2010 C# WPF を使用して開発されたソフトウェアを保護するために、Eziriz .NET Reactorをテストしています。

.NET Reactor がどのアセンブリを保護するかを尋ねると、私は混乱します。ユーザーがインストールする.msiファイルを保護するはずでしたが。しかし、.exe であるアセンブリ ファイルをアップロードするように求められます。そのため、Visual Studio でソリューションをビルドして生成された .exe を bin/Debug フォルダーにアップロードします。

.NET Reactor で保護を実行した後、.NET Reflector で同じ .exe ファイルを開くと、すべてのクラスとメソッドが表示されます。何も保護されていません。

ドキュメントを読みましたが、動作していないだけですか、それとも何か間違っているのでしょうか?

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

python - MsgWaitForMultipleObjectsを使用して、切断されたTCPソケットを確実に検出するにはどうすればよいですか?

Twistedには、上に実装されたリアクターMsgWaitForMultipleObjectsが含まれます。どうやら、少なくともピアがいくつかのバイトを送信してからすぐに接続を閉じる場合、reactorにはTCP接続がいつ終了するかを確実に通知する問題があります。何が起こっているようです:

  1. リアクタはMsgWaitForMultipleObjects、いくつかのソケットハンドルとを使用して呼び出しますQS_ALLINPUT
  2. 呼び出しが完了し、この状態のソケットのハンドルがアクティブであることを示します(つまり、バイトが読み取られるのを待機していて、ピアによって閉じられています)。
  3. リアクタは、この通知を一般的なTCP実装にディスパッチします。
  4. TCP実装は、ソケットから使用可能なバイトを読み取ります。いくつかあり、それらはアプリケーションコードに配信されます。
  5. 制御はリアクターに戻され、リアクターは最終的にMsgWaitForMultipleObjects再び呼び出します。
  6. MsgWaitForMultipleObjectsハンドルがアクティブであることを二度と示しません。TCP実装はソケットを再度確認することはないため、接続が閉じられたことを検出することはできません。

MsgWaitForMultipleObjectsこれにより、エッジトリガー通知メカニズムのように見えます。MSDNのドキュメントには次のように書かれています。

これは、エッジトリガーのようには聞こえません。レベルトリガーのように聞こえます。

MsgWaitForMultipleObjects実際にエッジトリガーされていますか?それとも、レベルによってトリガーされ、この不正な動作は、その動作の他の側面によって引き起こされますか?

補遺 WSAEventSelectのMSDNドキュメントでFD_CLOSEは、基本的に1回限りのイベントであることを指摘するなど、ここで何が起こっているかについてもう少し説明しています。一度信号を送った後は、二度とそれを取得することはありません。これは、Twistedにこの問題がある理由を説明するのに役立ちます。MsgWaitForMultipleObjectsただし、この制限を考慮して、効果的に使用する方法については、まだ興味があります。

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

sockets - ACEアクセプター-My_Svc_Handlerクラス

TCPポートをリッスンするためにaceアクセプターを使用しています。私のクラスはMy_Svc_Handlerから継承し、クラスMy_Svc_Handlerの関数int open(void *)を意味します。私が見たすべての例で、open関数内で、それらはリアクターを登録します。

なぜ登録する必要があるのか​​理解できません。私はすでにイベントを待っているリアクターを持っています。これは私がメインで定義したものです:

open関数がいつ呼び出されるのかわかりません。

その方法について別の質問があります。while(1)を実行しないメインに別の方法はありますか?

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

c++ - Poco SocketReactor でマルチスレッドを処理する良い方法は何ですか?

そのため、大規模なクライアント/サーバー システムを実装するための代替案についていくつかの調査を開始しています。現在、アプリケーション フレームワークの多くに Poco を使用しているため、Poco の Reactor フレームワークを検討しています。

着信パケットのサイズはかなり小さくなるので、クライアントからデータを読み取るという観点からは問題なく機能すると思います。ただし、クライアント入力に基づいて実行される操作は比較的コストがかかり、別のプロセスまたは別のサーバーにオフロードする必要がある場合があります。また、クライアントに返される応答は、かなり大きい場合があります。したがって、明らかに、それが行われている間、リアクター スレッドをブロックすることはできません。

したがって、リアクター イベント ハンドラーでデータを読み取ってから、データを処理する別のスレッド (プール) に渡すと、うまくいくと思います。

私がよくわからないのは、操作が完了したときにクライアントに応答を返すプロセスです。

フレームワークの最適な使用方法に関する情報があまり見つかりません。しかし、いくつかのテストを行ったところ、ソケットが書き込み可能である間、リアクターが WritableNotification イベントを繰り返し発生させるようです。最適なプロセスは、WritableNotification イベントを受信するオブジェクトで送信する必要があるデータをキューに入れ、イベントを受信するたびに小さなチャンクを送信することでしょうか?

更新: したがって、これをテストし始めたとき、サーバーの CPU 使用率が、サーバー アプリが単一の接続で実行されている CPU で 100% に達したことを発見してぞっとしました。しかし、掘り下げた後、私は自分が間違っていたことを発見しました。サービス ハンドラの作成時に WritableNotification イベントに登録する必要がないことを発見しました。登録する必要があるのは、送信するデータがある場合のみです。次に、すべてのデータが送信されたら、イベント ハンドラーの登録を解除する必要があります。このようにして、リアクターは、送信するものが何もないときに、イベント ハンドラーを何度も呼び出し続ける必要がありません。現在、100 接続でも CPU 使用率はほぼ 0 のままです。うわー!

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

python - 基本的な Twisted Reactor のセットアップ

Twisted を使用するのは初めてです。.py でプロトコルを設定しましたが、完全に機能します。問題は、現在それをテストするために、サーバーに ssh して実行する必要があるということです。サービス/サーバーとして実行したいので、常にプロトコルを提供しています。ねじれたサイトで .tac ファイルについて何か読んだことがありますが、それを私が書いたプロトコル ファイルと結び付ける方法がわかりません。

私が持っているのは、reactor にメッセージを送信し、メッセージを受信する単純なソケット ベースの iPhone アプリだけです。

サーバーの起動時にこれを起動したいと思います。Apacheサーバーが機能するのと同じように。

ご協力いただきありがとうございます。

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

ace - ace でリアクター イベント ループを終了する方法

ace でリアクタ イベント ループを終了する 2 つの方法を見つけました。

それらの違いは何ですか?どちらを使用する必要がありますか?