html怎么直接给服务器发消息,如何从Flask服务器(Python)向HTML客户端发送消息?...

下面是一个简单的示例,演示如何连接到SocketIO服务器并在该连接上接收来自服务器的消息。

应用程序pyfrom flask import Flask, render_template

from flask_socketio import SocketIO, emit

app = Flask(__name__)

app.config['SECRET_KEY'] = 'secret!'

socketio = SocketIO(app)

@socketio.on('connect')

def connect():

emit('message', {'hello': "Hello"})

@app.route('/')

def index():

return render_template('index.html')

if __name__ == '__main__':

socketio.run(app, debug=True)

模板/index.html

var socket = io.connect('http://' + document.domain + ':' + location.port);

socket.on('connect', function() {

console.log('connected');

});

socket.on('message', function(data) {

console.log(data);

});

编辑:

要让服务器每五秒钟发送一条socketio消息,可以使用后台线程:

应用程序pyfrom flask import Flask, render_template

from flask_socketio import SocketIO, emit

import time

app = Flask(__name__)

app.config['SECRET_KEY'] = 'secret!'

socketio = SocketIO(app)

thread = None

def background_thread():

while True:

socketio.emit('message', {'goodbye': "Goodbye"})

time.sleep(5)

@socketio.on('connect')

def connect():

global thread

if thread is None:

thread = socketio.start_background_task(target=background_thread)

@app.route('/')

def index():

return render_template('index.html')

if __name__ == '__main__':

socketio.run(app, debug=True)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值