卧野望平川 2023-01-07 00:53 采纳率: 92.3%
浏览 41
已结题

python flask_socketio 连接异常报错

使用flask_socketio搭建一个ws程序,运行后服务端报错

The client is using an unsupported version of the Socket.IO or Engine.IO protocols (further occurrences of this error will be logged with level INFO)

以下是代码

服务端:

from flask import Flask, render_template
from flask_socketio import SocketIO,emit
from threading import Lock
import random
async_mode = None
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
thread = None
thread_lock = Lock()

@app.route('/')
def index():
    return render_template('app.html')

@socketio.on('connect', namespace='/test_conn')
def test_connect():
    global thread
    with thread_lock:
        if thread is None:
            thread = socketio.start_background_task(target=background_thread)

def background_thread():
    while True:
        socketio.sleep(5)
        t = random.randint(1, 100)
        socketio.emit('server_response',
                      {'data': t},namespace='/test_conn')

if __name__ == '__main__':
    socketio.run(app, debug=True)

客户端:

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript" src="https://code.jquery.com/jquery-1.4.2.min.js"></script>
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.5/socket.io.min.js"></script>
</head>

<body>
  <h1 id="t"></h1>
  <script type="text/javascript">
    $(document).ready(function () {
      namespace = '/test_conn';
      var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port + namespace, { transports: ['websocket'] });
      socket.on('server_response', function (res) {
        console.log(res.data);
        $('#t').text(res.data);
      });
    });
  </script>
</body>

</html>

如果是版本问题,请问应该下载那个版本呢?

  • 写回答

1条回答 默认 最新

  • 阳光宅男xxb 2023-01-07 08:32
    关注

    客户端的使用了 Socket.IO 或 Engine.IO protocols 不支持的版本,建议升级版本即可。下载最新或次新的版本即可,新版本都是向下兼容的,所以下新的版本一般都没有错。 望采纳,望采纳,祝你的问题早日解决!!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月28日
  • 已采纳回答 1月20日
  • 创建了问题 1月7日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改