宿舍火星wifi經常掉,然后要重啟,於是用Python寫了一個腳本,用來遠程控制火星wifi的重啟
思路:
01.使用socket通訊
02.在wifi主機(開wifi的電腦)上運行客戶端,控制機運行服務端
03.當想要重啟wifi時候,通過控制機向wifi主機發送字符‘1’
04.wifi主機收到字符后,當判斷為‘1’時,Python調用cmd殺掉火星wifi進程,然后等一會后再啟動進程
05.完成重啟后向控制機發送一條消息顯示重啟成功
控制機腳本:
1 import socket 2 import time 3 sock = socket.socket() 4 sock.connect(('192.168.191.1',4331)) 5 sock.send('1') 6 msg = sock.recv(1024) 7 print msg 8 time.sleep(3)
wifi主機腳本:
1 import os 2 import socket 3 import time 4 print 'import over,application start:' 5 sock = socket.socket() 6 sock.bind(('localhost',4321)) 7 sock.listen(5) 8 print 'listening...' 9 while True: 10 try: 11 client,addr = sock.accept() 12 print 'connection address is :',addr 13 client.settimeout(5) 14 buf = client.recv(10) 15 print 'receive msg:',buf 16 if buf == '1': 17 os.system("taskkill /f /im winword.exe") 18 print 'has killed marswifi!' 19 time.sleep(3) 20 os.system('start winword.exe') 21 time.sleep(5) 22 print 'has restarted marswifi.' 23 client.send('restart over.') 24 else: 25 print 'no command,sir' 26 client.send('not useful command,sir') 27 except socket.timeout: 28 print 'time out' 29 time.sleep(1)
經過實驗,可以遠程重啟火星wifi
然而,並沒什么卵用,wifi掉了就沒網發指令了[尷尬.jpg],不過感覺挺有意思的,權當作練習socket