在 Flask-SocketIO 上使用 ssl 设置 ping_timeout
Posted
技术标签:
【中文标题】在 Flask-SocketIO 上使用 ssl 设置 ping_timeout【英文标题】:Set ping_timeout with ssl on Flask-ScoketIO 【发布时间】:2021-11-21 18:20:30 【问题描述】:我正在尝试使用此配置运行 flask-socketIO + Gevent:
应用程序.py
if __name__ == "__main__":
socketio.run(
flask_app,
host='127.0.0.1',
port=5000,
ping_timeout = 10 * 60 * 1000,
keyfile='key.pem',
certfile='cert.pem',
)
但我收到此错误:
File "C:\Users\XXXXXXXXXXX\anaconda3\envs\atrio\lib\site-packages\gevent\server.py", line 233, in wrap_socket_and_handle
with _closing_socket(self.wrap_socket(client_socket, **self.ssl_args)) as ssl_socket:
TypeError: wrap_socket() got an unexpected keyword argument 'ping_timeout'
还有其他方法可以发送更改 ping_timeout 值吗?
【问题讨论】:
【参考方案1】:您将适用于 Web 服务器的选项与适用于 Socket.IO 的选项混合在一起。
ping_interval
适用于 Socket.IO。您可以在创建 SocketIO()
对象时传递它,或者如果您愿意,可以在 socketio.init_app()
调用中传递它。
旁注:ping_interval
值以秒为单位,而不是毫秒。此外,对于 99+% 的应用程序,默认值是最佳值,因此我建议您不要更改它。
【讨论】:
以上是关于在 Flask-SocketIO 上使用 ssl 设置 ping_timeout的主要内容,如果未能解决你的问题,请参考以下文章
Flask-Socketio 应用程序在 Heroku 上出现超时错误