0

ネットワーク上に XMPP サーバーを作成し、Python でメッセージを送信して、このサーバーがネットワーク上のターゲット コンピューターを再起動できるようにしたいのですが、このサーバーをどのようにセットアップし、残りのプロセスをどのように行うことができますか? tnx

4

1 に答える 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.

ここでのワークフローの賢明な方法は、これを機能させる方法です。

  1. たとえば、ホスト A で稼働している jabber サーバーが必要です。
  2. ネットワーク内の他のホスト (ホスト B、ホスト C、ホスト D など) でスタートアップ サービスを構成する必要があります。この起動サービスは、ホストが起動するたびにバックグラウンドで起動する xmpp クライアント デーモンに他なりません。
  3. スタートアップ サービスとして構成されたこの xmpp クライアントは、着信 rpc 呼び出し (XEP-0009 のサポート) を受け入れ、ホスト上で受信したコマンドを実行するという意味で特別です。
  4. 特定のニーズに応じてshutdown、受信した RPC コマンドを と同義にすることができます。kill -9 xxxx
  5. 最後に、ホスト C の xmpp クライアントは、スタンザ内にラップされた 1 つ以上のコマンドを、ホスト B で実行されている xmpp クライアントに送信できます。

既存のpython xmpp クライアント ライブラリの 1 つを使用して、実際のサンプルをユース ケースに合わせて拡張するだけです。また、オペレーティング システムに応じてスタートアップ サービスを構成する方法の詳細を確認する必要があります (例: ubuntu の場合は update-rc.d 、Windows の場合は sc.exe ) 。

于 2012-09-04T16:06:07.170 に答える