[問題] socketio & thread
我在 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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章