【发布时间】:2012-03-29 20:42:18
【问题描述】:
对于一个旨在作为社区资源帮助人们学习 Scala 的小型教育项目,我正在寻找一种在后台线程中提供和处理网页的简单方法。
基本背景:Scalatron 是一款多人游戏,玩家可以在其中让机器人程序(用 Scala 编写)相互对抗。它附有一步一步的 Scala 教程。目前玩家需要在本地机器上使用 IDE 来编译机器人,然后通过将它们复制到共享网络目录中来发布到游戏中。这很麻烦。对于下一个版本,最好提供基于浏览器的机器人编辑和发布,以最大限度地简化组织者和玩家的设置。
我已经有一个后台线程正在运行,它将即时编译到达服务器的 Scala 源代码(无需完整的 IDE)。接下来,我必须运行一个小型 Web 服务器来为玩家提供访问点并处理 bot 上传(这摆脱了网络共享)。
要求非常基本:最初我设想提供带有编辑框和“开始”按钮的单个页面(= 上传到服务器,编译并发布到游戏中);我预计不超过 20 个并发用户,每 5 或 10 秒在所有用户中上传不超过一个机器人;我需要为每个用户保持最小状态(只是一个名称),并且我需要将编译器错误消息返回给用户。请注意,游戏屏幕更新不会显示在浏览器中,而是显示在连接到服务器计算机的投影仪上。主要是为了实现最简单的设置(双击游戏服务器 .jar),我认为在现有游戏服务器的后台线程中运行 Web 服务器会很好。
最合适的方法是什么?我应该使用一些现有的框架,比如 Play 或 Lift 吗?是否有现有的代码可以做与此非常相似的事情?计划在这样的后台线程中运行 Web 服务器是否合理? 任何建议都值得赞赏。
【问题讨论】:
标签: scala playframework webserver lift