我正在使用Play 2.3,并查看了有关将Akka用作WebSocket服务器的文档。然而,在文档中,他们没有说明Play是否可以连接到现有的WebSocket服务器。我基本上想成为一个WebSocket客户端,将从WebSocket服务器接收消息。我的Play应用程序将与此WebSocket服务器进行双向请求/响应,最后我将发起终止。
使用Play和Akka实现这个功能是否可行?
使用Play和Akka实现这个功能是否可行?
目前情况并不是这样。它只充当服务器的角色。
你可以使用像jetty websocket这样的客户端从Play本身开始,然后根据需要处理数据。
结账 http://backchatio.github.io/hookup/
import io.backchat.hookup._
new DefaultHookupClient(HookupClientConfig(new URI("ws://localhost:8080/thesocket"))) {
def receive = {
case Disconnected(_) ⇒
println("The websocket to " + uri.toASCIIString + " disconnected.")
case TextMessage(message) ⇒ {
println("RECV: " + message)
send("ECHO: " + message)
}
}
connect() onSuccess {
case Success ⇒
println("The websocket is connected to:"+this.uri.toASCIIString+".")
system.scheduler.schedule(0 seconds, 1 second) {
send("message " + messageCounter.incrementAndGet().toString)
}
case _ ⇒
}
}