問題タブ [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 に答える
1030 参照

python - Twistedを使用すると、「connectionMade」はどのようにして特定のDeferredを起動できますか?

これはより大きなプログラムの一部です。関連する部分だけを説明します。基本的に、私のコードはリモートホストへの新しい接続を作成したいと考えています。これにより、Deferredが返されます。これは、接続が確立されると起動するため、何かを送信できます。

との接続を作成していtwisted.internet.interfaces.IReactorSSL.connectSSLます。これはbuildProtocolClientFactoryインスタンスを呼び出して新しい接続(twisted.internet.protocol.Protocol)オブジェクトを取得し、を返しますtwisted.internet.interfaces.IConnector。接続が開始されると、Twistedはファクトリを呼び出しstartedConnecting、ファクトリにを与えますIConnector。接続が実際に確立されると、プロトコルのconnectionMadeコールバックが引数なしで呼び出されます。

これで、ホスト/ポートごとに1つの接続のみが必要な場合、残りは簡単になります。を呼び出す前connectSSLに、Deferredを作成し、キーが設定された辞書(host、port)に配置します。次に、プロトコルのconnectionMadeでself.transport.getPeer()、ホスト/ポートを取得し、それを使用してDeferredを検索し、そのコールバックを起動するために使用できます。しかし、複数の接続を作成したい場合、これは明らかに機能しなくなります。

connectSSL問題は、connectionMade後で呼び出す前に作成したDeferredを関連付ける他の方法が見当たらないことです。

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

javascript - javascriptの協調スレッドの意味で「yield」する正しい方法はありますか?

ユビキタスプラグインを書いていますが、ajaxクエリの長​​い関数コールバックがGUIスレッドをブロックし、Firefoxがロックアップしています。

明らかな解決策は、ある種の遅延実行を使用することであるようです(つまり、このクエリ関数を実行する実行をイベントキューの最後に定期的に追加してから、他のコマンドを実行できるようにします。

私がこれを行うことを考えることができる唯一の方法は、タイムアウトがゼロのsettimeoutを使用することです...これは動作することが保証されているか、これを行うためのより良い方法があります。

0 投票する
4 に答える
1445 参照

winapi - Reactorスタイルの操作でIOCP(または他のAPI)を使用することは可能ですか?

ソケットでreactorスタイルの操作を提供するスケーラブルなWin32API(selectではなくIOCPなど)はありますか?AFAIK IOCPを使用すると、データの読み取りや書き込み(プロクター)などの完了した操作に関する通知を受け取ることができますが、リアクタースタイルの操作を探しています。ソケットが読み取り可能または書き込み可能(リアクター)になったときに通知を受け取る必要があります。

epoll、kqueue 、/dev/poll?

Win32にそのようなAPIはありますか?もしそうなら、どこでマニュアルを見つけることができますか?

**明確化:** selectIOCPと同じくらいスケーラブルなソケット用のAPIのようなものが必要です。または、reactorのような操作でIOCPを使用する方法を探しています。

さらに明確にする: IOCPを使用すると、特定の操作の完了時に通知を受け取ることができます。例えば:

だから私は操作が行われた後に通知を受け取ります-操作の監督者スタイル。

私が必要としているのはそのようなものです:

これどうやってするの?

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

python - Annoying Twisted Python problem

I'm trying to answer the following question out of personal interest: What is the fastest way to send 100,000 HTTP requests in Python?

And this is what I have came up so far, but I'm experiencing something very stange.

When installSignalHandlers is True, it just hangs. I can see that the DelayedCall instances are in reactor._newTimedCalls, but processResponse never gets called.

When installSignalHandlers is False, it throws an error and works.

installSignalHandlers が True の場合にスローされるエラーは次のとおりです。

私は何を間違っており、正しい方法は何ですか? 私はねじれたのが初めてです。

@moshez: ありがとう。それは今動作します:

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

python - PyQtアプリですべてを制御する。リアクターはどのように使用しますか?

私はTwistedを介して提供されるdjangoアプリケーションを持っています。これは、他のサービス(主に3つのソケット)も提供します。

Windowsで動作させる必要があり、Apache Service MonitorforWindowsのように動作するPyQt4アプリケーションを作成することにしました。

ツイストリアクターをpyqtアプリケーションリアクターに接続できなかったので、これに関するヒントも歓迎します。

今、私はこの種のアーキテクチャを持っています:

  • QMainWindowは、__ init __()でlog.addObserver(callBack)関数とウィジェットを備えています。
  • QtCore.QThreadを拡張し、別のスレッドで動作するツイスト初期化子クラス。
  • Twisted上で実行されるdjangoアプリ。

QtCore.QThreadからreactor.start ()を呼び出すとまったく機能しないため、reactorの実行方法を理解する必要があります。

また、アプリケーションの設計についてもご意見をお伺いしますが、それはあなたにとって意味がありますか?

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

python - twisted.internet.reactor はグローバルですか?

たとえば、あるアプリケーションがfrom twisted.internet import reactorを行い、別のアプリケーションが同じことを行う場合、それらreactorsは同じですか?

ツイストを使用するアプリケーションであるDelugeは、リアクターを使用して UI (gtk) をツイストによって駆動されるアプリケーションの残りの部分に接続しているように見えるため、質問しています (ソースを理解しようとしています)。たとえば、UI を閉じると、単に が呼び出されますreactor.stop()

それだけですか?私には魔法のように思えます。twisted を使用する別のアプリケーションを実行したい場合はどうすればよいですか?

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

python - スレッド (または代替手段) による 1 つのアプリケーションでの複数のリアクター (メイン ループ)

TwistedWebSocketsについてもう少し学ぶために取り組みたいアプリのアイデアがあります。以前に作成した IRC ボットを Web アプリケーションに統合することを考えていました。私が見る限り、それを機能させるには 3 つのリアクターが必要です。

  • プライマリ リアクター: Web サーバー (HTTP)。これは、平均的な twisted.web アプリケーションです。アクセスすると、IRC サーバー/チャネルを接続に POST できます。次に、Web サーバーは別のスレッドの別のリアクターと通信します。これは...
  • 二次リアクター: IRC ボット。これは、Twisted IRC クライアント プロトコルを介して実行される IRC ボットです。それはチャネルに参加し、何かが発せられるたびに、そのデータを受け取り、さらに別のスレッド上のさらに別のリアクターにプッシュします...
  • Tertiary Reactor : WebSocket サーバー (WS): WebSocket は通常の HTTP プロトコルを使用しないため、独自のサーバーが必要です (または、このような例を見るとそう思われます。IRC ボットがメッセージを受信すると、WebSocket に通知します)。そのメッセージを接続されたクライアントにプッシュするサーバー。

私の考えでは、これは理にかなっています。出来そうです。複数のリアクターが別々のスレッドで実行されている例はありますか、それとも現在の Twisted の化身では実行できないと私が想像したことですか?

リアクター数などを最小限に抑えるために行うことができる (または行う必要がある) アーキテクチャの変更はありますか?

助けてくれてありがとう。

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

python - TwistedのClientFactoryから作成されたすべてのオブジェクトにアクセスしますか?

私は、リアクターが複数のサービスでどのように機能するかを学ぶのに役立つ、基本的なツイストアプリケーションに取り組んでいます。スクリプトに実行させたい基本的な概要は次のとおりです。

私のスクリプトは、WebサーバーとIRCクライアントの両方になります。Webサーバーにリクエストが送信されるたびに、スクリプトはIRCにメッセージを送信する必要があります。

IRCクライアントが機能し、twisted.webサーバーが機能しており、1つのスクリプトで同時に実行できます。これらを相互に作用させようとすると、問題が発生します。サーバー/クライアントを開始する方法は次のとおりです。

上記のコードを使用すると、クライアントの2つの部分が問題なく同時に実行されます。しかし、HTTPリクエストに応じてIRCクライアントにサーバーにメッセージを送信させようとすると、IRCBotFactoryでリアクターを開始し、Twistedに実際のボットの初期化を処理させたため、実際にはIRCBotインスタンスを参照していないことに気付きました。物体。

Twistedでファクトリのすべての子インスタンスを取得する方法はありますか、またはIRCクライアントを開始する別の方法がありますか(おそらくファクトリをバイパスしてIRCBotインスタンスを使用するだけです)?

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

twisted - twisted - KeyboardInterrupt 経由でコールバックを中断する

現在、Twisted を使用してコールバック内の for ループでタスクを繰り返していますが、ユーザーが Ctrl-C を介して KeyboardInterrupt を発行した場合、リアクターがコールバック (1 つ) でループを中断するようにしたいと考えています。私がテストしたところ、リアクターはコールバックの最後でのみ停止または割り込みを処理します。

コールバックの実行中に、KeyboardInterrupt をコールバックまたはエラー ハンドラに送信する方法はありますか?

乾杯、

クリス

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

java - http サーバーの実装、ページが正しく表示されない

まあ、私はhttpサーバーをコーディングする小さなプロジェクトをやっています。コードは

http://code.google.com/p/reactor/

現在のパズルは、java スクリプトと css を使用してページを解析するように求められたときです。http サーバーとして、(別の Web サイトからコピーされた) ページを送信するだけで、不適切に解析されます。私のFirefoxで単純なhtmlページが解析されると、問題はありませんが、より複雑なページ(css + javascript)を解析すると、ページはすべて次のように配線されます:

ボトム:10px;}ボディ>div#divToplayerSmall{position:fixed;} クレイジーワン |

HTMLのソースコードは次のとおりです。

clientWidth:document.body.clientWidth)+(ignoreMe2=document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft))+'px');top:expression((0-divToplayerSmall.offsetHeight+(document. documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight)+(ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop))+'px');}varisTopTrans=(ToplayerBigPath .indexOf("transparent")>-1)?false:true;varisRemTrans=(ToplayerSmallPath.indexOf("transparent")>-1)?false:true;vartop1session=3;vartop2session=5;InitToplayer(isTopTrans,isRemTrans) ;window.onload=StartToplayer;window.onload=StartToplayer;https:/ クレイジーワン | documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft))+'px');top:expression((0-divToplayerSmall.offsetHeight+(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body. clientHeight)+(ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop))+'px');}varisTopTrans=(ToplayerBigPath.indexOf("transparent")>-1)?false: true;varisRemTrans=(ToplayerSmallPath.indexOf("transparent")>-1)?false:true;vartop1session=3;vartop2session=5;InitToplayer(isTopTrans,isRemTrans);window.onload=StartToplayer;https://www.youtube.com/playlist? list... |ONETV |ビッグワン |テレビ番組 | クレイジーワン | documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft))+'px');top:expression((0-divToplayerSmall.offsetHeight+(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body. clientHeight)+(ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop))+'px');}varisTopTrans=(ToplayerBigPath.indexOf("transparent")>-1)?false: true;varisRemTrans=(ToplayerSmallPath.indexOf("transparent")>-1)?false:true;vartop1session=3;vartop2session=5;InitToplayer(isTopTrans,isRemTrans);window.onload=StartToplayer;https://www.youtube.com/playlist? list... |ONETV |ビッグワン |テレビ番組 | クレイジーワン | offsetHeight+(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight)+(ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop))+'px');} varisTopTrans=(ToplayerBigPath.indexOf("透明")>-1)?false:true;varisRemTrans=(ToplayerSmallPath.indexOf("透明")>-1)?false:true;vartop1session=3;vartop2session=5;InitToplayer( isTopTrans,isRemTrans);window.onload=StartToplayer;window.onload=StartToplayer;https://support.microsoft.com/ja-jp/live/live|oneבסלוללס|ONETV |גליצ'ים |BigONE| クレイジーワン | offsetHeight+(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight)+(ignoreMe=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop))+'px');} varisTopTrans=(ToplayerBigPath.indexOf("透明")>-1)?false:true;varisRemTrans=(ToplayerSmallPath.indexOf("透明")>-1)?false:true;vartop1session=3;vartop2session=5;InitToplayer( isTopTrans,isRemTrans);window.onload=StartToplayer;window.onload=StartToplayer;https://support.microsoft.com/ja-jp/live/live|oneבסלוללס|ONETV |גליצ'ים |BigONE| クレイジーワン | indexOf("transparent")>-1)?false:true;varisRemTrans=(ToplayerSmallPath.indexOf("transparent")>-1)?false:true;vartop1session=3;vartop2session=5;InitToplayer(isTopTrans,isRemTrans); window.onload=StartToplayer;https:/ クレイジーワン | indexOf("transparent")>-1)?false:true;varisRemTrans=(ToplayerSmallPath.indexOf("transparent")>-1)?false:true;vartop1session=3;vartop2session=5;InitToplayer(isTopTrans,isRemTrans); window.onload=StartToplayer;https:/ クレイジーワン |

כותרותאחרונותצפובמייקללואיסמנצחבתחרותההטבעותבגמרהתיכונים
19/01/07 19:30

אליכהןלשחקניולקראתבני-יהודה:תיראומהאסוליןעשהלמכביחיפה
19/01/07 18:43

ליגתהעלבכדורסל:המשחקיםחוזריםליוםראשון
19/01/07 17:41

דעה:שחרפארכבריכולהלהתמודדעםשחקניותצמרת
19/01/07 16:49

ארצית:הפועלר"גניצחהאתהשקמה/ רמתחן1:2、גםראשל"צנ "ですצנצנ19/ 01/
07 16:45

拍。洞窟、שדשד2.52.5°מ耳19/01/07
16:37 :30אתאת業者、するまっている、ללאג '−℃ בנするか19/01/07 14:45ピンジング0











19/01/07 13:46



varswfPeleSmall=newSWFObject("http://images.one.co.il/images/PeleEmulator/emulator_pelephone_01a.swf","peleSmall",160,470,"6","#FFFFFF"); swfPeleSmall.addParam("品質","高");swfPeleSmall.addParam("wmode","透明");swfPeleSmall.write("divPeleSmall");varswfPeleBig=newSWFObject("http://images.one.co. il/images/PeleEmulator/emulator_pelephone_02d.swf","peleBig",400,470,"6","#FFFFFF");swfPeleBig.addParam("品質","高");swfPeleBig.addParam("wmode","透明");swfPeleBig.write("divWithBig");


פאר:לא:לאלא:לאלא
するとに、1つの1つのמ業者のעברבמעברבמするとかするげするげ





מאתשמאתשון19/01/20077:26
שחרפאררשמשחרפאררשמ業者(ששすると)

コタロコ、ש業者、רלערךלפנです。

コタネズマギפס業者、מערכ業者、拍。

פארפארי−すると、するまっています(16が)(16が)、שםתפג原拍お愛なしです。

פאאממהל-

(Firefox およびページ ソース html でのページ プレゼンテーションの一部のみ)

なぜそれが起こっているのですか?http 応答の midding は何ですか?