首页 > 其他 > 详细

Flask

时间:2020-04-21 19:44:42      阅读:61      评论:0      收藏:0      [点我收藏+]

参考:https://www.hi-roy.com/2015/12/29/flask-socketio%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3/ 

https://www.cnblogs.com/luozx207/p/9714487.html

 

Socket.IO

SocketIO.html

 1 <!DOCTYPE html>
 2 <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
 7     <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.5/socket.io.min.js"></script>
 8 </head>
 9 <body>
10     <h1 id="t"></h1>
11     <script type="text/javascript">
12     $(document).ready(function() {
13         namespace = /test_conn;
14         //var socket = io.connect(location.protocol + ‘//‘ + document.domain + ‘:‘ + location.port + namespace, {transports: [‘websocket‘]});
15         var socket = io.connect(http:// + document.domain + : + location.port + namespace);
16 
17         socket.on(server_response, function(res) {
18             console.log(res.data);
19             $(#t).text(res.data);
20         });
21     });
22     </script>
23 </body>
24 </html>

 

videws.py

 1 from datetime import datetime
 2 from flask import render_template
 3 from FlaskWebProject1 import app
 4 
 5 @app.route(/)
 6 @app.route(/home)
 7 def home():
 8     """Renders the home page."""
 9     return render_template(
10         index.html,
11         title=Home Page,
12         year=datetime.now().year,
13     )
14 
15 @app.route(/contact)
16 def contact():
17     """Renders the contact page."""
18     return render_template(
19         contact.html,
20         title=Contact,
21         year=datetime.now().year,
22         message=Your contact page.
23     )
24 
25 @app.route(/about)
26 def about():
27     """Renders the about page."""
28     return render_template(
29         about.html,
30         title=About,
31         year=datetime.now().year,
32         message=Your application description page.
33     )
34 
35 @app.route(/SocketIO)
36 def SocketIO():
37     print("In SocketIO ")
38     return render_template(SocketIO.html)

runserver.py

 1 from os import environ
 2 from FlaskWebProject1 import app
 3 from flask_socketio import SocketIO,emit
 4 
 5 from threading import Lock
 6 import random
 7 async_mode = None
 8 #app = Flask(__name__)
 9 app.config[SECRET_KEY] = secret!
10 socketio = SocketIO(app)
11 thread = None
12 thread_lock = Lock()
13 
14 @socketio.on(connect, namespace=/test_conn)
15 def test_connect():
16     print("In test_connect ")
17     global thread
18     with thread_lock:
19         if thread is None:
20             thread = socketio.start_background_task(target=background_thread)
21 
22 def background_thread():
23     print("In background_thread ")
24     while True:
25         socketio.sleep(1)
26         t = random.randint(1, 100)
27         socketio.emit(server_response,
28                       {data: t},namespace=/test_conn)
29 
30 
31 if __name__ == __main__:
32     HOST = environ.get(SERVER_HOST, 0.0.0.0)
33     try:
34         PORT = int(environ.get(SERVER_PORT, 5555))
35     except ValueError:
36         PORT = 5555
37     #app.run(HOST, PORT)
38     socketio.run(app,HOST, PORT,debug=True)

 

Flask

原文:https://www.cnblogs.com/kingboy100/p/12747118.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!