【发布时间】:2015-07-03 19:17:31
【问题描述】:
如果我理解正确,Heroku 每天都会重新启动应用程序。这称为循环测功机。
我目前正在使用 websocket 制作多人游戏。
基本上,当每日循环发生时,服务器上的每个玩家都会与游戏断开连接。我确实有 10 秒的时间来保存玩家进度,但每个人都断开连接仍然是不可接受的。
我该如何处理?
【问题讨论】:
如果我理解正确,Heroku 每天都会重新启动应用程序。这称为循环测功机。
我目前正在使用 websocket 制作多人游戏。
基本上,当每日循环发生时,服务器上的每个玩家都会与游戏断开连接。我确实有 10 秒的时间来保存玩家进度,但每个人都断开连接仍然是不可接受的。
我该如何处理?
【问题讨论】:
您需要实现重新连接逻辑,this question 中有几个解决方案。
为避免在服务器重新启动时出现间隙,请打开Heroku preboot。这会启动新的测功机,然后在关闭旧的测功机之前切换到它们,因此没有停机时间。
heroku features:enable -a myapp preboot
【讨论】: