問題タブ [twisted]
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.
python - Python Twisted での非同期プログラミング
Twisted でリバース プロキシを開発するのに問題があります。それは機能しますが、過度に複雑で複雑に見えます。その多くはブードゥーのように感じます。
Web や書籍に、非同期プログラム構造の単純で堅実な例はありますか? 一種のベスト プラクティス ガイドですか? プログラムを完成させた後も、スパゲッティの入ったボウルを見るのではなく、何らかの方法で構造を確認できるようにしたいと考えています。
c# - C# から Twisted XMLRPC にエンコーディングが不明な拡張 ASCII 文字を転送する
基本的に、いくつかのエンコーディング (Latin-1、CP-1252、または UTF-8 など) のいずれかである可能性のあるスペイン語のテキストを含む文字列を渡したいと考えています。XMLRPC に到達すると、エンコーディングを検出できますが、それまではわかりません。C# は、デフォルトで ASCII 以外の文字をすべて殺しているようです。文字列をbase64でエンコードすることで問題を回避しましたが、そうしないことを本当に望んでいます。
私はCookComputing.XmlRpcを使用しています...これが私のインターフェースのコードスニペットです:
どんな助けでも大歓迎です。ありがとう!
python - Twisted プログラムを py2exe でパッケージ化するには?
Twisted プログラムを py2exe でパッケージ化しようとしましたが、ビルドした exe ファイルを実行すると、「リソースという名前のモジュールがありません」というエラーが発生しました。
そして、py2exeが次のように言っていることがわかりました:
次のモジュールが欠落しているようです ['FCNTL', 'OpenSSL', 'email.Generator', 'email.Iterators', 'email.Utils', 'pkg_resources', 'pywintypes', 'resource', 'win32api', 'win32con', 'win32event', 'win32file', 'win32pipe', 'win32process', 'win32security']
では、どうすればこの問題を解決できますか?
ありがとう。
python - Python - Conch を使用して仮想 SSH サーバーを作成する方法
私は実行できるPythonでサーバーを作成することを検討しており、SSHサーバーとして機能します。これにより、さまざまなユーザーがログインできるようになり、通常どおりログインしたかのように動作しますが、1 つのコマンドにしかアクセスできません。
システム全体のアカウントを作成せずにユーザーを追加できるシステムを用意して、たとえば VCS ブランチなどにコミットできるようにするために、これを行いたいと考えています。
conch を使用してこれを「カスタム」シェルにする方法を考え出すことはできますが、SSH ストリームが実際のものであるかのように動作するようにする方法がわかりません (私はbzr+ssh が機能するように /bin/bzr に制限することが望ましいです。
それはPythonである必要があります(承認を行うことができます)が、アプリへのリンクを行う方法がわかりません。
これは、設計されたアプリ内で機能し、新しいユーザーを追加するためのアクセス権のないユーザーが使用できるようにするために、Python である必要があります。
python - Twisted でソケットにタイムアウトを設定することは可能ですか?
私はおそらく愚かで、大きくて重要なものが欠けていることに気づきましたが、reactor.listenUDP を使用して twisted でタイムアウトを指定する方法がわかりません。私の目標は、タイムアウトを指定できるようにすることです。その時間が経過した後、DatagramProtocol.datagramReceived が実行されていない場合は、reactor.stop() を呼び出すために使用できるコールバックまたは何かを実行します。ヘルプやアドバイスをいただければ幸いです。ありがとう
python - Twisted Words Python ライブラリを使用して簡単な Google トーク クライアントを作成するにはどうすればよいですか?
Python を使用して Google トーク クライアントを作成することに興味があり、Twisted ライブラリの Words モジュールを使用したいと考えています。例を見ましたが、Google トークの現在の実装では動作しません。
これで運が良かった人はいますか?簡単なチュートリアルを文書化していただけませんか?
簡単なタスクとして、さまざまな Google トーク アカウントのオンライン時間を追跡するクライアント/ボットを作成して、集計値を取得したいと考えています。各アカウントでボットと友達になり、XMPP プレゼンス情報を使用して集計できる時間を追跡できると思います。
ありがとう。
python - 同期 rpc 呼び出しを行うにはどうすればよいですか
ローカルで使用されるクラスを持つプログラムを作成していますが、同じクラスをネットワーク経由で同じ方法で使用したいと考えています。これは、パブリック メソッドのいずれかに対して同期呼び出しを行うことができる必要があることを意味します。このクラスはファイルを読み書きするので、XML-RPC はオーバーヘッドが大きすぎると思います。twisted の例を使って基本的な rpc クライアント/サーバーを作成しましたが、クライアントに問題があります。
これは 1 回の呼び出しで機能します。データが受信されたら、reactor.stop() を呼び出しますが、それ以上呼び出しを行うと、リアクターは再起動しません。これに使用する必要があるものは他にありますか?おそらく別のツイストモジュールまたは別のフレームワークですか?
(プロトコルがどのように機能するかの詳細は含めません。要点は、ここから 1 つの呼び出ししか得られないということです。)
補遺と説明:
私がやっていることについてのメモを含むGoogleドキュメントを共有しました。http://docs.google.com/Doc?id=ddv9rsfd_37ftshgpgz
ヒューズを使用し、複数のローカル フォルダーをヒューズ マウント ポイントに結合できるバージョンを作成しました。ファイル アクセスは既にクラス内で処理されているため、同じクラスへのネットワーク アクセスを提供するサーバーが必要です。検索を続けた後、私は pyro ( http://pyro.sourceforge.net/ ) が私が本当に探しているものかもしれないと思っています (単に彼らのホームページを今読んだことに基づいています) が、私はどんな提案も受け入れます.
nfs マウントを使用してローカル フォルダーと組み合わせることで同様の結果を得ることができますが、すべてのピアが同じ組み合わせファイルシステムにアクセスできるようにするため、すべてのコンピューターが多数の nfs を持つ nfs サーバーである必要があります。ネットワーク内のコンピューターの数と同じ数をマウントします。
結論: rpyc を使用することにしました。探していたものが正確に得られたからです。ローカルであるかのように操作できるクラスのインスタンスを保持するサーバー。誰かが興味を持っている場合は、私のプロジェクトを Launchpad ( http://launchpad.net/dstorage ) に掲載します。
python - ツイストFTPFileListProtocolとスペース付きのファイル名
PythonとTwistedフレームワークを使用してFTPサイトに接続し、さまざまな自動化されたタスクを実行しています。必要に応じて、FTPサーバーはたまたまPure-FTPdです。
FTPClientでlistメソッドに接続して呼び出す場合、結果のFTPFileListProtocolのファイルコレクションには、スペース('')を含むディレクトリまたはファイル名が含まれません。
他の誰かがこれを見たことがありますか?FTPFileListProtocolのサブクラスを作成し、そのunknownLineメソッドをオーバーライドして、ファイル/ディレクトリ名を手動で解析する唯一の解決策はありますか?
python - ねじれたプロトコルで定期的に関数を実行する
TCP ポートに接続されているすべてのクライアントで定期的にデータを送信する方法を探しています。私はツイスト python を見ていますが、reactor.callLater を認識しています。しかし、それを使用して、接続されているすべてのクライアントに定期的にデータを送信するにはどうすればよいですか? データ送信ロジックは Protocol クラスにあり、必要に応じてリアクターによってインスタンス化されます。リアクターからすべてのプロトコルインスタンスに結び付ける方法がわかりません...
python - XmlStream.addObserver の XPath が正常に機能しない
私がやりたいことは、指定されたルート要素にのみ反応することです。たとえば、ユーザーが次のような XmlStream を送信した場合:
私のメソッド ._auth を実行する必要があります。connectionMade メソッド内で呼び出される addObserver メソッドで実行しました。
AFAIK XPath - 「/auth」と書くと、ルート要素を「auth」にすることを意味するため、次のメッセージが表示されます。
...認証はルートではないため、拒否する必要があります。
しかし、Twisted は思ったように動作しません - 私の _auth メソッドは、最初のメッセージではなく、2 番目のメッセージ (ツリー内の auth 要素) が表示されたときに実行されます - auth 要素をルートとして使用します。
だから、私の質問は: ルート要素の名前が「auth」の場合にのみ反応したいことを Twisted と addObserver メソッドに伝える方法は?