Flask和SocketIO - 404轮询

时间:2018-04-09 09:41:11

标签: python flask socket.io

我试图在先前通过SocketIO使用Flask的项目中添加简单的聊天功能。我无法将SocketIO正确地集成到我的项目中。虽然我是Flask和SocketIO的新手,但我已经使用python一段时间了。

错误:

获取http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1523266597636-12 404(未找到)

我的项目结构:

├───config.py
├───run.py
├───app
│   ├───admin
│   ├───auth
│   ├───home
│   ├───static
│   │   ├───css
│   │   ├───img
│   │   └───js
│   └───templates
|       ├───base.html
│       ├───auth
|       |    ├───login.html
|       |    └───register.html
│       └───home
|            ├───dashboard.html
|            └───index.html
├───instance
└───migrations
    └───versions

app目录中,adminauthhome分别有两个文件__init__.pyviews.pystatic包含所有CSS,JS和图像。 templates包含我正在投放的所有HTML模板。我希望聊天框位于dashboard.html> app> template中的homedashboard.html有一个实现SocketIO的javascript文件。

主要目标

TL; DR我想知道在项目的哪个位置我应该为socketIO添加.py文件。 .py文件是从上面的dashboard.html子文件引用的。基本上,我在哪里放置SocketIO python脚本,以便它在正确的URL上提供SocketIO? (http://127.0.0.1/socketio/

我尝试过的事情

1)修改__init__.py> app中的home和前面提到的dashboard.html - 这会导致404轮询错误

2)将包含socketIO代码的新python脚本添加到基本app目录并在dashboard.html中使用它 - 导致404轮询错误

P.S。脚本正在运行,因为在自己的项目中测试时,SocketIO聊天工作完美。如果您想查看任何文件的内容,请告诉我。我非常乐意为您提供任何额外信息。

我非常感谢所有的帮助!

1 个答案:

答案 0 :(得分:0)

我对python不太满意,但是我遇到了同样的问题。我浪费了3天!我生命中的3天!!! :((当我将python-socketio库从版本2.0.0(在我的requirements.txt中)更新到python-socketio 2.1.2时,我的问题已修复

pip install python-socketio --upgrade

也许此答案为某人节省了大量时间。