WebSocket 接続を閉じるにはどうすればよいですか? ドキュメントの例は、すぐに閉じたい場合に機能します。
しかし、次のような場合はどうでしょうか。将来、何らかの状況が発生したときに接続を閉じたい。たとえば、クライアントから特定のメッセージを受け取ったとき。
def indexWS = WebSocket.using[String] {
request => {
var channel: Option[Concurrent.Channel[String]] = None
var outEnumerator: Enumerator[String] = Concurrent.unicast(c => channel = Some(c))
val myIteratee: Iteratee[String, Unit] = Iteratee.foreach[String] {gotString => {
// received a string from the client
if (gotString == "close_me") {
// outEnumerator = Enumerator.eof // doesn't work
// outEnumerator >>> Enumerator.eof // doesn't work
}
}}
(myIteratee, outEnumerator)
}
}
ご協力ありがとうございました!