接続が確立された直後に websocket にメッセージを送信しようとしています。しかし、メッセージ送信でコードをどこに置くべきかわかりません。
def ws = WebSocket.async[String] {
val (out, channel) = {
Concurrent.broadcast[String]
}
channel push "message"
request =>
(in, out)
}
ws
メソッドが戻る前にチャネルにメッセージを送信すると、Web クライアントがメッセージを取得しないことがわかります。channel push "message"
メソッドが返された後にコードを実行できた場合、コードは正常に動作ws
し、ブラウザー クライアントでメッセージを受け取ります。一部の で始まる を でラップすることで、それを遅らせることができchannel push "message"
ます。Future{}
Thread.sleep()
しかし、信頼できるノンブロッキングソリューションがあることを願っています...