ネットワーク上に XMPP サーバーを作成し、Python でメッセージを送信して、このサーバーがネットワーク上のターゲット コンピューターを再起動できるようにしたいのですが、このサーバーをどのようにセットアップし、残りのプロセスをどのように行うことができますか? tnx
1 に答える
0
どのような状況でこれを行おうとしているのかはわかりませんが、XMPP は通常のチャットやインスタント メッセンジャー (ロード バランサー、rpc など) 以外の状況で使用されています。
これにはいくつかの方法があります。私が今考えることができる 1 つの方法は、次のように言うJabber RPC xep-0009を使用することです。
This specification defines an XMPP protocol extension for
transporting XML-RPC encoded requests and responses between two XMPP entities.
The protocol supports all syntax and semantics of XML-RPC except that
it uses XMPP instead of HTTP as the underlying transport.
ここでのワークフローの賢明な方法は、これを機能させる方法です。
- たとえば、ホスト A で稼働している jabber サーバーが必要です。
- ネットワーク内の他のホスト (ホスト B、ホスト C、ホスト D など) でスタートアップ サービスを構成する必要があります。この起動サービスは、ホストが起動するたびにバックグラウンドで起動する xmpp クライアント デーモンに他なりません。
- スタートアップ サービスとして構成されたこの xmpp クライアントは、着信 rpc 呼び出し (XEP-0009 のサポート) を受け入れ、ホスト上で受信したコマンドを実行するという意味で特別です。
- 特定のニーズに応じて
shutdown
、受信した RPC コマンドを と同義にすることができます。kill -9 xxxx
- 最後に、ホスト C の xmpp クライアントは、スタンザ内にラップされた 1 つ以上のコマンドを、ホスト B で実行されている xmpp クライアントに送信できます。
既存のpython xmpp クライアント ライブラリの 1 つを使用して、実際のサンプルをユース ケースに合わせて拡張するだけです。また、オペレーティング システムに応じてスタートアップ サービスを構成する方法の詳細を確認する必要があります (例: ubuntu の場合は update-rc.d 、Windows の場合は sc.exe ) 。
于 2012-09-04T16:06:07.170 に答える