日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用flask_socketio实现客户端间即时通信

發布時間:2023/11/29 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用flask_socketio实现客户端间即时通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  關于flask_socketio的入門可以看我的上一篇博客《使用flask_socketio實現服務端向客戶端定時推送》

  用socketio實現即時通信十分簡單,只需要客戶端發送用戶輸入的信息到后端,后端再將此信息廣播到所有連接到此命名域的客戶端就可以了。

from flask import Flask, render_template from flask_socketio import SocketIO,emitapp = Flask(__name__) app.config['SECRET_KEY'] = 'secret!' socketio = SocketIO(app)@app.route('/') def index():return render_template('index.html')@socketio.on('imessage', namespace='/test_conn') def test_message(message):emit('message',//后端廣播信息的事件名最好跟前端發送信息的事件名不一樣{'data': message['data']},broadcast=True)if __name__ == '__main__':socketio.run(app, debug=True)

  關鍵就是要在emit中加broadcast=True這一項,如果不加,只有發送信息的客戶端能收到消息

<!DOCTYPE html> <html> <head><meta charset="UTF-8"><title></title><script type="text/javascript" src="//code.jquery.com/jquery-1.4.2.min.js"></script><script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.5/socket.io.min.js"></script><script type="text/javascript">$(document).ready(function() {namespace = '/test_conn';var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port + namespace);
       //連接后發送日志socket.on(
'connect', function(){console.log('connected')});
       //點擊發送時將text框的內容發送到后端$(
'form#emit').submit(function(event) {socket.emit('imessage', {data: $('#emit_data').val()});return false;});
       //接收后端廣播的信息socket.on(
'message', function(msg) {$('#log').append('<br>' + $('<div/>').text(msg.data).html());});});</script> </head> <body><form id="emit" method="POST" action='#'><input type="text" name="emit_data" id="emit_data" placeholder="Message"><input type="submit" value="發送"></form><h2>Receive:</h2><div id="log"></div> </body> </html>

  打開兩個網頁都連接到http://127.0.0.1:5000/,測試一下,一個網頁發送的信息在另一個網頁也可以及時收到。一個簡陋的多人聊天系統完成了:)

轉載于:https://www.cnblogs.com/luozx207/p/9719597.html

總結

以上是生活随笔為你收集整理的使用flask_socketio实现客户端间即时通信的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。