wiz*_*lus 5 scala playframework
我正在尝试将Play Framework Web服务器添加为更大的应用程序的一部分,但应用程序的主要目的不是Web服务器.它已经接受了各种连接,包括串口和TCP,但我需要添加WebSockets,而Play Framework的WebSocket接口更可取.(我们尝试过Undertow,并且在其笨重的界面上遇到了太多问题)
我只是创建一个应用程序,并启动它,但我无法连接到它.运行以下代码后,没有任何内容正在侦听端口8000.我需要做什么?
application.conf:
play.server.http.port=8000
http.port=8000
Run Code Online (Sandbox Code Playgroud)
webserver.scala:
def startWebServer = {
val environment = new Environment(
new File("/path/to/app"),
classOf[Dummy].getClassLoader,
play.api.Mode.Dev
)
val context = play.api.ApplicationLoader.createContext(environment)
val application = ApplicationLoader(context).load(context)
play.api.Play.start(application)
}
Run Code Online (Sandbox Code Playgroud)
build.sbt:
libraryDependencies += "com.typesafe.play" %% "play" % "2.5.0-M1"
Run Code Online (Sandbox Code Playgroud)
输出:
[info] play.api.Play - Application started (Dev)
Run Code Online (Sandbox Code Playgroud)
你可以在这里下载代码:github.com/alancnet/playtest
那只是应用程序。它仍然需要一个主机。添加以下代码:
网络服务器.scala:
play.core.server.NettyServer.fromApplication(
application
)
Run Code Online (Sandbox Code Playgroud)
构建.sbt:
libraryDependencies += "com.typesafe.play" %% "play-netty-server" % "2.5.0-M1"
Run Code Online (Sandbox Code Playgroud)
输出:
[info] play.api.Play - Application started (Dev)
[info] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
Run Code Online (Sandbox Code Playgroud)
编辑:这是投入生产的代码:https://gist.github.com/alancnet/68f6e787e1ab96bd1c4a