我试图在连接建立后立即向 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"
我可以通过包装in来延迟它Future{}
,从 some 开始Thread.sleep()
。
但我希望,有一些可靠的、非阻塞的解决方案......