宿舍火星wifi经常掉,然后要重启,于是用Python写了一个脚本,用来远程控制火星wifi的重启
思路:
01.使用socket通讯
02.在wifi主机(开wifi的电脑)上运行客户端,控制机运行服务端
03.当想要重启wifi时候,通过控制机向wifi主机发送字符‘1’
04.wifi主机收到字符后,当判断为‘1’时,Python调用cmd杀掉火星wifi进程,然后等一会后再启动进程
05.完成重启后向控制机发送一条消息显示重启成功
控制机脚本:
import socket
import time
sock = socket.socket()
sock.connect(('192.168.191.1',4331))
sock.send('1')
msg = sock.recv(1024)
print msg
time.sleep(3)
wifi主机脚本:
import os
import socket
import time
print 'import over,application start:'
sock = socket.socket()
sock.bind(('localhost',4321))
sock.listen(5)
print 'listening...'
while True:
try:
client,addr = sock.accept()
print 'connection address is :',addr
client.settimeout(5)
buf = client.recv(10)
print 'receive msg:',buf
if buf == '1':
os.system("taskkill /f /im winword.exe")
print 'has killed marswifi!'
time.sleep(3)
os.system('start winword.exe')
time.sleep(5)
print 'has restarted marswifi.'
client.send('restart over.')
else:
print 'no command,sir'
client.send('not useful command,sir')
except socket.timeout:
print 'time out'
time.sleep(1)
经过实验,可以远程重启火星wifi!
好吧,其实并没什么卵用,wifi掉了根本就没网发指令[笑哭.jpg],不过感觉挺有意思的,权当作练习socket