1. 程式人生 > >[Python Study Notes]CS架構遠程訪問獲取信息--SERVER端

[Python Study Notes]CS架構遠程訪問獲取信息--SERVER端

時間 sleep 需要 print imp 內存信息 encode int 元祖

‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
>>文件: ps_server.py
>>作者: liu yang
>>郵箱: [email protected]

‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys, os
from socket import *
import  psutil
from time import sleep
# from cpu信息 import cpu_message
# from 內存信息 import memory_message
# from 電池信息 import battery_message
# from 磁盤信息 import disk_partitions
# from cpu使用率 import cpu_utilization

def cpu_utilization():

    cpu_start_alltime=psutil.cpu_times()
    ‘‘‘print(cpu_start_alltime)得到的內容:scputimes(user=14088.359375, system=20540.59375, 
                            idle=362071.6875, interrupt=847.9375019073486, dpc=3795.6875)‘‘‘
    t1all=sum(cpu_start_alltime)#開始的cpu時間總和


    sleep(1)#休眠一秒

    cpu_end_alltime=psutil.cpu_times()
    t2all=sum(cpu_end_alltime)#結束時的cpu時間總和

    t1busy=t1all-cpu_start_alltime.idle#開始的忙碌時間=總時間-空閑時間
    t2busy=t2all-cpu_end_alltime.idle

    ‘‘‘cpu使用率:(結束的忙碌時間-開始的忙碌時間)/(結束的總時間-開始的總時間)‘‘‘
    cpu_busy=(t2busy-t1busy)/(t2all-t1all)*100
    # print("cpu使用率:%0.2f"%cpu_busy+‘%‘)
    return  cpu_busy

# 創建服務端 TCP/IP IPv4
server=socket(AF_INET,SOCK_STREAM)
server.bind((‘localhost‘,66))
server.listen(5)
print("等待客戶端進行連接...")

while True:
    # 等待連接阻塞
    conn,addr=server.accept()
    # 元祖取值需要用方括號!!!
    print("%s已連接..."%addr[0])
    while True:
        data = conn.recv(1024).decode(‘utf-8‘)
        if data == ‘cpu‘:
            buf=str(cpu_utilization()).encode(‘utf-8‘)
            print(buf)
            conn.send(buf)
        if not data:
            print("客戶按可能已斷開連接...")
            break
            conn.close()

[Python Study Notes]CS架構遠程訪問獲取信息--SERVER端