[問題] socketio & thread

看板Python作者 (非常念舊)時間10年前 (2015/05/16 20:23), 10年前編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
我在 flask 框架下使用 sokcetio,以下是草略架構 server.py: from flask import Flask from threadin import Thread app = Flask(__name__) socketio = SocketIO(app) def background_thread(): while True: ... ... @app.route('/') def index(): thread = Thread(target=background_thread) tread.start() return render_template('receiver.html') @socketio.on('connect',namespace='/test') -->當socket連線成功就丟 def test_connect(): 出名為 my response的 emit('my response', 'data': xxxx) 事件, date是XXXX不重 要 @socketio.on('distconnect',namespace='/test') --> 當socket斷線就 def test_distconnect(): 印出 dictconnect print('Client disconnect') if __name__== '__main__': socketio.run(app,host='172.16.51.22',port=1400) 我如果開網頁打這個172.16.51.22:1400 當然就會進入到 rotute('/')這邊執行,這 function index()會開啟一個thread,接著畫面會出現receiver.html,receiver.html 內有一個關於socketio的連線指令,會自動連到這個172.16.51.22,成功的話,server.py就會 送出名為 my response 的事件,然後 reseiver.html也會有 socketio 相關 API 來接 這個事件來做回應,如果我離開172.16.51.22:1400這個網頁,distconnect事件會被觸 發,那這樣請問我原本在這個 server.py的 process 開啟的 thread,是不是還有在佔 用資源呢? 如果我又重新連向 1721.6.51.22:1400網頁,她又會啟動一個thread 這樣 資源不就越來越少? 請問我這樣的理解是對的嗎? 感謝指教。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.157.116 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1431779038.A.E19.html ※ 編輯: gn00618777 (220.136.157.116), 05/16/2015 20:46:05

05/17 10:04, , 1F
05/17 10:04, 1F
文章代碼(AID): #1LLpRUuP (Python)
討論串 (同標題文章)
文章代碼(AID): #1LLpRUuP (Python)