为什么播放2.6在空闲时85秒后关闭一个websocket?虽然游戏2.5没有

时间:2017-07-02 16:50:55

标签: playframework websocket playframework-2.0

更新到2.6后,我注意到websocket连接在85秒后空闲时关闭。然而,在游戏2.5中,websocket连接在空闲时保持打开+15分钟。

在游戏2.6中有什么变化,是否有办法在播放2.6中保持websocket连接打开,而无需在应用程序级别上手动保持连接活动?

1 个答案:

答案 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