2015-10-23 8 views
5

Sto tentando di aggiungere un server Web Play Framework come parte di un'applicazione più grande, ma lo scopo principale dell'applicazione NON è un server web. Accetta già varie connessioni, tra cui seriale e TCP, ma è necessario aggiungere WebSockets e l'interfaccia WebSocket di Play Framework è preferibile. (Abbiamo provato Undertow, e ho incontrato troppi problemi con la sua interfaccia goffa)Usa Play Framework come componente

Ho appena finito di creare un'applicazione e avviarla, ma non riesco a connettermi. Dopo aver eseguito il seguente codice, nulla è in ascolto sulla porta 8000. Che cosa devo fare?

application.conf:

play.server.http.port=8000 
http.port=8000 

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) 
} 

build.sbt:

libraryDependencies += "com.typesafe.play" %% "play" % "2.5.0-M1" 

uscita:

[info] play.api.Play - Application started (Dev) 

È possibile scaricare il codice qui: github.com/alancnet/playtest

+0

I C'è qualche output nella console quando usi 'webserver.scala'? –

+0

Forse questa è già una soluzione: http://stackoverflow.com/questions/8205067/how-do-i-change-the-default-port-9000-that-play-uses-when-i-execute-the- run? answertab = voti # tab-top – Kris

+0

@GavinSchulz Ho aggiunto l'output sopra. – wizulus

risposta

3

Questa era solo l'applicazione. Ha ancora bisogno di un host. Aggiungere il seguente codice:

webserver.scala:

play.core.server.NettyServer.fromApplication(
    application 
) 

build.sbt:

libraryDependencies += "com.typesafe.play" %% "play-netty-server" % "2.5.0-M1" 

uscita:

[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 

EDIT: Ecco il codice che è andato in produzione: https://gist.github.com/alancnet/68f6e787e1ab96bd1c4a