Flask-socketIO的小坑,记录下

1、如下代码启动的时候会出现错误记录,无法启动 flash-policy server。
socketio.run(app, host=app.config.get(“HOST”),port=app.config.get(“PORT”))
错误如下:

FAILED to start flash policy server: [Errno 10048] …
只需要在启动的时候加上参数 policy_server=False 即可,启动命令如下:

socketio.run(app, host=app.config.get(“ROBOT_HOST”),port=app.config.get(“ROBOT_PORT”),policy_server=False)

2、socket-client 不触发on_disconnect事件

比如我们这样写:

socketIO = socketIO(brainHost, brainPort, resource=’socket.io’)
someNamespace = socketIO.define(SomeNamespace, ‘/somenamespace’)
这样是监听不到diconnect事件的,必须定义一个空的namespace,才能监听到disconnect事件,至于为什么,应为代码里写死了。

class RootNamespace(BaseNamespace):
def on_disconnect(self):

#disconnect event

socketIO = socketIO(brainHost, brainPort, resource=’socket.io’)
someNamespace = socketIO.define(SomeNamespace, ‘/somenamespace’)
rootNamespace = socketIO.define(RootNamespace, ‘’)

其他的坑继续填,有坑记录