代码拉取完成,页面将自动刷新
import json
import os
import time
from flask import Flask, render_template, jsonify
from flask_socketio import SocketIO, emit
from flask_sqlalchemy import SQLAlchemy
import pymysql
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret_key'
app.config['SECRET_KEY'] = os.urandom(24)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@127.0.0.1:3306/sshmanage'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
socketio = SocketIO()
socketio.init_app(app, cors_allowed_origins='*')
from sshd import ssh
name_space = '/dcenter'
app.config['SECRET_KEY'] = os.urandom(24)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@127.0.0.1:3306/sokio'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
class Hosts(db.Model):
id = db.Column(db.Integer, autoincrement=True, primary_key=True)
hostname = db.Column(db.String(50))
ipaddr = db.Column(db.String(50))
Groups = db.Column(db.String(50))
@app.route('/')
def index():
db.create_all()
# return "hello"
return render_template('index.html')
@app.route('/push')
def push_once():
event_name = 'dcenter'
dbdata = Hosts.query.all()
broadcasted_data = []
for host in dbdata:
broadcasted_data.append({'host': host.hostname})
# # hostname = broadcasted_data1.hostname
# broadcasted_data = {'data': broadcasted_data1} # 发送的数据
# for x in range(100):
# time.sleep(1)
# print(x)
# broadcasted_data = {'data': 'hostname'+str(x)}
socketio.emit(event_name, broadcasted_data, broadcast=True, namespace=name_space)
return 'done!'
@socketio.on('connect', namespace=name_space)
def connected_msg():
print('client connected.')
@socketio.on('disconnect', namespace=name_space)
def disconnect_msg():
print('client disconnected.')
@socketio.on('my_event', namespace=name_space)
def mtest_message(message):
print(message)
emit('my_response',
{'data': message['data'], 'count': 1})
if __name__ == '__main__':
socketio.run(app, host='0.0.0.0', port=5000, debug=True)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。