更新到2.6后,我注意到websocket连接在85秒后空闲时关闭。然而,在游戏2.5中,websocket连接在空闲时保持打开+15分钟。
在游戏2.6中有什么变化,是否有办法在播放2.6中保持websocket连接打开,而无需在应用程序级别上手动保持连接活动?
答案 0 :(得分:9)
似乎对于Play 2.6 akka http 而不是 netty 用于后端。这意味着为akka http服务器设置了默认超时配置。
可以通过将以下内容添加到applications.conf文件来增加空闲超时。
play.server.http.idleTimeout = 180s
然而根据播放文档:
注意:在开发模式下,当您使用run命令时,服务器将不会选择您的application.conf设置。这是因为在开发模式下,服务器在应用程序类路径可用之前启动。
因此,对于使用较长的idleTimeout进行测试,可以使用以下命令运行播放实例:
sbt run -Dplay.server.http.idleTimeout=180s
有关进一步的文档,请参阅:
https://www.playframework.com/documentation/2.6.x/SettingsAkkaHttp
http://doc.akka.io/docs/akka-http/current/java/http/server-side/websocket-support.html