User:コンピューターBによってネットワーク制御電源アウトレットを介して電源をオフにして電源をオフにして、1つのコンピューターでテストを再起動したい（それを呼び出すことができる）。いつ成功したかを追跡してください。これを行うことができる最も単純なPythonセットアップは何ですか？ Assistant:これがジョブを行うことができるシンプルなPythonセットアップです。

1.コンピューターAで、コンピューターBからのリクエストを聴くために電源をオフにするPythonスクリプトを書きます。電源をオフにするには、「OS」や「サブプロセス」などのライブラリを使用してコマンドを実行してコンピューターをシャットダウンできます。電源をオンにするには、「Socket」などのライブラリを使用して、コンピューターにWake-on-Lan（WOL）パケットを送信できます。
    
2.コンピューターBに、コンピューターAにリクエストを送信して電源をオフにするPythonスクリプトを書きます。「リクエスト」ライブラリを使用して、HTTPリクエストをコンピューターAに行うことができます。
    
3.コンピューターAブーツの場合、コンピューターBにメッセージを送信して、オンラインであることを示す必要があります。「Socket`ライブラリを使用して、このメッセージを送信できます。
    
4.コンピューターBは、コンピューターAから受信する各メッセージの時間を記録することにより、コンピューターAブーツを追跡できます。
    

開始するためのサンプルコードを次に示します。

`` `
pythoncopyコード＃コンピューターa
OSをインポートします
ソケットをインポートします

def turn_off（）：
    os.system（ "shutdown -h now"）

def turn_on（）：
    ＃WOLパケットを送信します

def send_online_message（）：
    s = socket.socket（socket.af_inet、socket.sock_stream）
    s.connect（（ "Computer_b_ip"、80））
    S.Sendall（ "Online" .encode（））
    s.close（）

＃コンピューターからのリクエストを聞いてくださいb
＃...

＃コンピューターb
リクエストをインポートします

def request_reboot（ip）：
    requests.post（ "http：//" + ip + "/reboot"）

def record_boot（メッセージ）：
    ＃時間とメッセージを記録します

＃再起動リクエストを送信します
＃...

＃コンピューターからオンラインメッセージを聞いてくださいa
＃...

`` `

このコードは出発点にすぎないため、特定の要件に合わせて適応する必要があります。 
User:コンピューターAとBからのリクエストをどのように聞くのでしょうか？
Pythonのソケットライブラリを使用して、着信接続を聴くことができます。例えば：

`` python
ソケットをインポートします

host = "localhost"＃アドレスを聞くには、IPにすることができます
PORT = 20000＃リッスンするポート（非公開ポートは> 1023です）

socket.socket（socket.af_inet、socket.sock_stream）をsとして：
    S.Bind（（ホスト、ポート））
    s.listen（）
    conn、addr = s.accept（）
    connで：
        印刷（f "{addr}からの受信接続を受け入れた"）
        本当です：
            data = conn.recv（1024）
            データでない場合：
                壊す
            conn.sendall（データ）
`` `