tic*_*fab 19 scala websocket akka playframework-2.1
我想使用Scala/Akka/Play创建一个简单的Websocket应用程序.
我从示例中看到的内容(例如网络聊天或Scala Days最近的演讲)是JavaScript/Coffeescript,html模板等的混合体.
我的Websocket应用程序的客户端也将是原生移动应用程序(Android,iOS),所以我需要考虑"浏览器外".
如何创建一个只能推送"hello"字符串的websocket应用程序?
mor*_*mor 20
WebSocket连接有两部分:服务器和客户端.您可以使用Play2制作服务器部分并使用Android实现客户端(请参阅websocket-android-phonegap),iOS(请参阅Unitt),javascript应用...
以下是来自http://blog.tksfz.org/2012/10/12/websockets-echo-using-play-scala-and-actors-part-i/的非常基本的websocket连接的示例:
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)
}
}
Run Code Online (Sandbox Code Playgroud)
您只需设置指向控制器的路线conf/routes:
GET /connect Application.index
Run Code Online (Sandbox Code Playgroud)
服务器已准备好运行.然后,您可以使用javascript应用程序,Android应用程序等连接到WebSocket ......客户端是另一回事.
如果您使用chrome或chromium,只需在开发人员工具中打开您的javascript控制台,就可以像这样连接到您的服务器:
ws = new WebSocket('ws://localhost:9000/connect')
ws.onmessage = function( message ) { console.log( message ); };
ws.send('test')
Run Code Online (Sandbox Code Playgroud)
它会将您的消息发回给您,并在您发送消息时将其记录在javascript控制台中.
您也可以使用http://www.websocket.org/echo.html echo测试并将其提供给您的'ws://localhost:9000/connect'网址.
| 归档时间: |
|
| 查看次数: |
12625 次 |
| 最近记录: |