問題タブ [python-asyncio]

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 投票する
3 に答える
15812 参照

python - asyncio によるノンブロッキング I/O

Pygame と asyncio を使用してネットワーク ゲームを作成しようとしていますが、読み取りのハングを回避する方法がわかりません。クライアント用の私のコードは次のとおりです。

これは行にかかっていますline = yield from reader.read(2**12)。以前は、asyncio のポイントはノンブロッキングであると考えていたので、読み取るデータがない場合は実行を継続するだけでした。そうではないことがわかりました。

asyncio ネットワーク コードを Pygame の描画およびイベント コードと統合するにはどうすればよいですか?

0 投票する
7 に答える
53477 参照

python - asyncio を使用する場合、イベント ループをシャットダウンする前に実行中のすべてのタスクを終了させるにはどうすればよいですか

次のコードがあります。

完了するまでこの関数を実行します。この問題は、シャットダウンが設定されている場合に発生します。関数は完了し、保留中のタスクは実行されません。

これはエラーです:

シャットダウンを正しくスケジュールするにはどうすればよいですか?

コンテキストを示すために、5 秒ごとに /proc/stat から読み取り、その期間の CPU 使用率を計算し、結果をサーバーに送信するシステム モニターを作成しています。sigterm を受け取るまでこれらの監視ジョブをスケジュールし続けたいと思います。スケジュールを停止したら、現在のすべてのジョブが終了するのを待って、正常に終了します。

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

python - Python3.4 SSLV3 ハンドシェイクが asyncio、aiohttp で失敗する

次のコードに問題があり、SSLV3 ハンドシェイク エラーが発生します。

スタックトレース:

私はMac OSX 10.9.5、Pythonバージョンを使用しています:

OpenSSL は問題ないようです。次のように接続できます。

SSL コンテキストを作成するときに、正しく行っていないことがあると思われます。アイデアはありますか?

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

python - asyncio Transport へのメソッドの追加

標準の asyncio トランスポートに新しいメソッドを追加することは可能ですか?

例: SSL トランスポートに送信メソッドを追加して、プロトコル バッファをシリアル化し、フレームを構築し、トランスポート独自の書き込みメソッドを使用して、基になるソケットにバッファリングされた書き込みを行います。

非同期サーバー/クライアントの例はたくさんありますが、独自のトランスポートを実装したり、既存のものを拡張したりするものを見つけることができませんでした。

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

python - Python 3 asyncio で socket.recv_into のような操作はありますか?

ソケット モジュールにはsocket.recv_intoメソッドがあるため、ユーザー定義bytebuffer( などbytearray) をゼロ コピーに使用できます。しかし、おそらくBaseEventLoopそのような方法はありません。socket.recv_intoasyncioのようなメソッドを使用する方法はありますか?

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

python - Python asyncio のイベント ループを実行するリストに動的に追加する

ハードコーディングされたページのリストを反復処理して、すべてを順番にダウンロードする関数 download_all があります。しかし、ページの結果に基づいてリストに動的に追加したい場合は、どうすればよいでしょうか? たとえば、最初のページをダウンロードして解析し、結果に基づいて他のページをイベント ループに追加します。