后端
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import shlex
import subprocess
from flask import Flask
from flask_socketio import SocketIO
import gevent
async_mode = None
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app, cors_allowed_origins='*')
tasks = {}
@socketio.on('connect')
def test_connect():
for k in tasks.keys():
tasks[k] = 0
print(tasks, 'Client success 连接成功')
@socketio.on('test')
def start_test(index):
tasks[index] = 1
shell_cmd = ['ping www.baidu.com -n 50', 'ping 192.168.50.205 -n 50']
socketio.start_background_task(target=background_thread(shell_cmd[index], index))
def background_thread(shell_cmd, index):
tmp_data = []
cmd = shlex.split(shell_cmd)
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subpro