我试图按照游戏网站这里上的说明来建立一个基本的websocket。但是,当尝试使用以下代码时,我会得到一个错误:
无法解析重载方法“actorRef”
以下是代码:
package controllers
import play.api.mvc._
import javax.inject._
import akka.actor._
import akka.stream.Materializer
import play.libs.streams.ActorFlow
@Singleton
class HomeController @Inject()(cc: ControllerComponents)(implicit system: ActorSystem, mat: Materializer) extends AbstractController(cc) {
def ws = WebSocket.accept[String, String] { request =>
ActorFlow.actorRef { out =>
MyWebSocketActor.props(out)
}
}
}
object MyWebSocketActor {
def props(out: ActorRef) = Props(new MyWebSocketActor(out))
}
class MyWebSocketActor(out: ActorRef) extends Actor {
def receive = {
case msg: String =>
out ! ("I received your message: " + msg)
}
}
设置控制器以接受websocket连接的正确方法是什么?
发布于 2022-04-09 14:46:47
好的,所以我在做导入时错误地使用了Java,而不是Scala API。我修改了以下内容:
import play.libs.streams.ActorFlow
至
import play.api.libs.streams.ActorFlow
这解决了问题!
https://stackoverflow.com/questions/71811718
复制相似问题