【发布时间】:2015-01-25 14:35:34
【问题描述】:
如何在 Playframework2.3.7 中使用 WebSocket.acceptWithActor 和广播
我不想在广播中写 Iteratee。 https://www.playframework.com/documentation/2.3.x/ScalaWebSockets
我想在收到客户端消息时推送所有客户端。
@Singleton
class Application @Inject() (textGenerator:TextGenerator) extends Controller {
def index = Action {
Ok(views.html.index(textGenerator.welcomeText))
}
def socket = WebSocket.acceptWithActor[String, String] { request => out =>
MyWebSocketActor.props(out)
}
object MyWebSocketActor {
def props(out: ActorRef) = Props(new MyWebSocketActor(out))
}
class MyWebSocketActor(out: ActorRef) extends Actor {
private[this] var (channel) = Concurrent.broadcast[String]
override def receive = {
case msg: String =>
out ! msg
}
override def postStop() = {
Logger.info("Disconnected!")
}
}
}
【问题讨论】:
标签: playframework websocket playframework-2.3