scala websocket akka playframework-2.1

Websocket simple en scala/akka/play



playframework-2.1 (2)

Hay dos partes en una conexión WebSocket: el servidor y el cliente. Simplemente puede hacer que el servidor utilice Play2 e implementar un cliente con Android (ver websocket-android-phonegap ), iOS (ver Unitt ), aplicación javascript ...

Este es un ejemplo de una conexión de websocket muy básica tomada de http://blog.tksfz.org/2012/10/12/websockets-echo-using-play-scala-and-actors-part-i/ :

package controllers import play.api.mvc._ object Application extends Controller { def index = WebSocket.using[String] { val out = Enumerator.imperative[String]() val in = Iteratee.foreach[String] { msg => out.push(msg) } (in, out) } }

Solo tiene que configurar una ruta que apunte a su controlador conf/routes route:

GET /connect Application.index

El servidor está listo para ejecutarse. Luego puede conectarse a su WebSocket con una aplicación javascript, una aplicación de Android, etc. El lado del cliente es otro asunto.

Si usa Chrome o Chrome, simplemente abra su consola de javascript en las herramientas de desarrollo y podrá conectarse a su servidor de la siguiente manera:

ws = new WebSocket(''ws://localhost:9000/connect'') ws.onmessage = function( message ) { console.log( message ); }; ws.send(''test'')

Le enviará de vuelta su mensaje y lo registrará en la consola de javascript cada vez que envíe uno.

También puede utilizar la prueba de eco http://www.websocket.org/echo.html y alimentarla con su URL ''ws://localhost:9000/connect'' .

Me gustaría crear una aplicación Websocket simple usando Scala / Akka / Play.

Lo que veo en los ejemplos (como el webchat o la reciente charla en los Días de Scala ) es una combinación de JavaScript / Coffeescript, plantillas html, etc.

Los clientes de mi aplicación Websocket también serán aplicaciones móviles nativas (Android, iOS), así que tengo que pensar "fuera del navegador".

¿Cómo puedo crear una aplicación websocket que pueda simplemente empujar una cadena de "hola"?