跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • vue 与 flask websocket 实时通信问题
未分類
9 12 月 2020

vue 与 flask websocket 实时通信问题

vue 与 flask websocket 实时通信问题

資深大佬 : taomujian 8

前端用的 vue,后端用的 flask,有个路由需要使用 websocket 通信,现在是可以通信了,但后端怎么把数据实时的推给前端呢?后端在后面一直 while 循环推送的话,则访问其它的路由会失败,如果后端开多线程的话,会报 socket 死亡的问题,无法通信.

python:

  from flask_sockets import Sockets    @sockets.route('/msg')     def echo_socket(ws):         response_data = {'code': '', 'message': '', 'data': '', 'total': ''}         try:             if request.method == 'GET':                 user_socker = request.environ.get('wsgi.websocket')                 request_data = json.loads(user_socker.receive())                 t1 = threading.Thread(target = check_status, args=(request_data, user_socker,), daemon = True)                 t1.start()               

报错信息: user_socker.send(json.dumps(response_data)) File “/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geventwebsocket/websocket.py”, line 347, in send raise WebSocketError(MSG_SOCKET_DEAD) geventwebsocket.exceptions.WebSocketError: Socket is dead

vue:

initWebSocket() { //初始化 weosocket const wsuri = ‘ws://127.0.0.1:8800/msg’ //ws 地址 this.websock = new WebSocket(wsuri) this.websock.onopen = this.websocketonopen this.websock.onmessage = this.websocketonmessage this.websock.onerror = this.websocketonerror this.websock.onclose = this.websocketclose },

大佬有話說 (7)

  • 資深大佬 : Latin

    sockets 的异步需要 eventlet 和 gevent 的加持
    另外不建议 flask 使用 sockets
    换个思路 socketio 更适合 flask

  • 資深大佬 : Latin

    flask-socketio

  • 主 資深大佬 : taomujian

    @Latin flask-socketio 这个库不支持 http 的请求,与其它的请求不能共存,这就有点难受了

  • 資深大佬 : Latin

    @taomujian 支持的 我每个项目里都用

  • 資深大佬 : wzwwzw

    flask-socketio 应该是最优的选择了,只不过在部署的时候会麻烦一些。

  • 主 資深大佬 : taomujian

    @Latin 好的,谢谢,我再试试

  • 主 資深大佬 : taomujian

    @wzwwzw OK

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具