問題タブ [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.
redis - txredisを使用してクライアントサーバー通信用の非同期ツイストアプリケーションを作成する方法
ゲームのリーダーボードデータにredisを使用したいのですが、Stackoverflowの質問の1つで、txredisがこれに適したオプションであることがわかりました。しかし、いくつかのコードを書き始めることにつながる可能性のある例を見つけることができません。誰か助けてもらえますか?例のあるウェブサイトを知っていますか?よろしくお願いします。
私はそのようなことをしようとしていますが、うまくいきません。TCPクライアントは接続しますが、「i:xxx」を送信するとすぐに切断されます。
python - twisted.trial.unittest を使用すると、Reactor がテスト間で停止する
テスト間で接続をオンラインに保つ方法はありますか?
複数のテスト セットを実行しているときにユーザーをログに記録しようとしましたが、予期しない動作に気付きました: 各テストの後にリアクターが停止します (確立された接続が使用できなくなります)。
これを調べるために、サンプルのテストファイル (以下) を用意しました。
これにより、単純なリッスン エコー サーバーが作成され、クラス フィールドに格納されます。3 つのテストが実行されます。サーバーは、すべてのテスト中に適切に実行されることが期待されています (実際には、最初のテストが終了するまでしか実行されません)。
例:
上記のファイルを次のように実行します。
各テストの最後に「メインループが終了しました」と表示されます。その後、ポートはすべてのテストでリッスンしたままになります (netstat -n4lt による)。ただし、2回目と3回目のテストボディでtelnet接続してもエコーはありません(1回目のみ)。
Twisted doc http://twistedmatrix.com/documents/current/core/howto/testing.html#auto3は次 のように述べています。私の twistedmatrix 登録リクエストはまだ検証されていないため、そこに質問することはできません)。
私の実際のケースでは、サーバーへの接続はテストごとに繰り返すには時間がかかりすぎるため、ケースのクラスごとに少なくとも 1 回はこれを実行したいと考えています。
では、テスト間で接続をオンラインに保つ方法はありますか?
PS python 2.7.1、python-twisted 10.2.0-1、Ubuntu 11.04 を使用
python - Txredisapi exceptions.RuntimeError: 最大再帰深度を超えました
Redis の一部を除くすべてのキーを削除しようとしていますが、次の例外が発生します。
コードは次のとおりです。
Redis で約 725 個のキーを使用して resetAll 関数を呼び出すと、例外が発生しました。200 などの低い数値では起動されません。誰が何が起こっているのか考えていますか? ありがとう。
design-patterns - AI「インテリジェントエージェント」のデザインパターン
必ずしも相互に対話する必要のない複数のインテリジェント エージェントで構成される AI シナリオを設計するための推奨される設計パターンはありますか?
基本的に、適切なオブジェクトの構築と分解に従うスキーマだと思いますか? 新しいエージェントをフォークし、その後ジョブが完了したらエージェントを削除するいくつかの多重化
ここに何か推奨事項はありますか?
ありがとう!
java - java.ioパッケージを使用したJavaReactorパターン
MinecraftやJIrcsのようないくつかのアプリケーションソースでは、どちらもjava.ioを使用してReactorプラグインを実装しています(私が間違っていない場合)。また、この記事にもあります。では、Reactor Patternを実装するときのjava.ioとjava.nioの違いは何ですか?つまり、パフォーマンスの利点、プロセス効率など、java.ioがReactor Patternを実装するための優れたソリューションであると思われる場合は、優れたチュートリアルを取得できます(googleは、必要に応じてjava.ioではなく大量のjava.nio tutsを提供してくれるため)
c++ - C++ で Reactor パターンのサンプル ソース コードを探しています
原子炉パターンに関する Douglas R. Schmidt の論文を読んでください。いくつかの疑問を解決するために、実際に実装された良い例を見てみたいと思います。完全に実装された例を探すのに時間を費やしましたが、見つけることができませんでした。誰かがすでにこれを実装していて、喜んでコードを共有してくれるなら、大歓迎です。または、もちろん、C++ の例へのリンクも同様に優れています。
python - 非リアクタースレッドでのtwisted transport.write
私は3つのクラスを持つサーバーのクライアントとしてGUIアプリケーションを設計しています
ツイスト プロトコルのクラス、ファクトリの別のクラス、pyqt スレッド自体の 3 番目のクラス。ボタンがクリックされた場合の例として、pyqtスレッドからデータを送信するにはどうすればよいですか現在のツイスト接続を使用してコマンドを送信するにはどうすればよいですか、これが私のコードのコピーです
ruby-on-rails-3.1 - Rails と EM-C2DM Gem を使用した Heroku 上の EventMachine
Rails 内で、Event Machine を使用する Google C2DM Ruby ライブラリである GroupMe gem EM-C2DM、https://github.com/groupme/em-c2dmを使用しようとしています。Heroku 固有の構成があるため、Heroku で動作するはずですが、実行できないようです。
Resque Worker を介して実行していますが、Worker は正しく動作し、キューに入れられて呼び出されます。ただし、認証を通過することはなく、プッシュ通知の応答について報告することはありません。決して終わらないようです。
EM::next_tick または EM.next_tick を使用せずに試してみましたが、認証を通過しましたが、何もプッシュしたり、応答などを返したりすることはありません。実際には EM::next_tick には入りません。
これを機能させる方法についてのアイデアはありますか? これはHerokuで、Rails 3.1.1 with Thinを使用しています
私の Gemfile.lock から:
java - 複数のNIOリアクター、または1つだけ?
私は現在JavaNIOを読んでいて、過去に自分でJavaNIOのいくつかの実装を作成しました。しかし、私はサーバーのパフォーマンスについて実際に考えたことはありません-それは本当にばかげているように見えます、そしてそれはそうです。シングルスレッドのリアクターでいいと言われるのを聞いたことがありますが、私は自分の持っているコアを本当に活用したいと思っています。
私が作成する実装はゲームなので、ゲームロジックスレッドもいくつかあるので、多くのスレッドを使用することはできません。どちらかといえば、おそらく2つだけです。
これが私が思いついたプロットです:
- 優先度の高いリアクター
- 接続を受け入れます
- ゲームのログインプロセスを処理します(クライアントはパケットを送信し、サーバーはプロセスを送信し、サーバーは応答パケットを送信します。ここでは大量のデータではありません)
- リソースファイルデータをオンデマンドで配布します(ゲームは、クライアントがゲームのほぼすべてのリソースを含むキャッシュに保存するデータをサーバーが送信するように構築されています。これのほとんどは、ゲームの読み込み時に行われますが、それでも多くのことが発生します演劇としてのバックグラウンドで)
- 標準リアクター
- ゲーム内のパケットを読み取って応答します。これらは小さいことが多いですが、多くの場合、プレーヤーが行うことのほぼすべてがパケットとして配布されるため、約200人のプレーヤーを適切に処理できるように拡張したいと思います)
目標:
- 約200〜300人のプレーヤーに適したスケール
- ゲームパケットにすばやく応答する
- 前述のファイルデータをすばやく配布する
- 接続をすばやく受け入れる
また、あなたがそれに精通しているなら、ゲームはRuneScapeです。私の目標は、RuneScapeの公式サーバーソフトウェアをエミュレーションして、クライアントの1つで使用できるようにすることです。これは一般的な方法です。www.runelocus.com、www.rune-server.orgを参照してください。
私の質問は、これは良い実装になると思いますか?原子炉を1つだけ持つ方が良い考えですか?それとももっと使うべきですか?送受信されるデータはほぼ同じで、優先度の高いリアクターではもう少し多いと思います(これが優先度の高い理由です)。
また、私がそれを高優先度と定義するとき、私は実際にはそれを標準的な原子炉よりも文字通り優先しているわけではありません。ゲームパケットよりも重要と見なされるタスクを処理しているだけです。
フィードバックは大歓迎です:)説明/説明が必要な場合は、lemmeが知っています!