스칼라와 플레이 프레임 워크를 처음 접해 보니 약간 실험하고 있습니다. 웹 소켓을 성공적으로 만들었지 만 간단한 POST 요청으로 여러 소켓 클라이언트에 메시지를 보내고 싶습니다. 예를 들어Play Framework 2.3.6이 적용된 스칼라 : 모든 소켓 클라이언트에게 메시지 보내기
, 내 소켓에 연결된 10 개 개의 서로 다른 임의 브라우저 (WS : // .../웹 소켓)를 가지고 있고, 나 자신은 "POST를 : HELLO"보낼 수 있습니다 /은 newMessage에. 이 "HELLO"가 10 명의 고객 각각에게 전송되도록하려면 어떻게해야합니까?
다음은 HELLO를 수신하는 컨트롤러입니다. 잘 작동 및 인쇄 "있어 : AnyContentAsText (HELLO)"
def newMessage = Action { implicit request =>
println("Got: " + request.body)
/* add something here to send "request.body" to every socket client */
Ok("Got: " + request.body)
}
을 그리고 여기에 연결된 클라이언트에 "환영"전송 내 간단한 "소켓"컨트롤러 :
object Socket extends Controller {
def txSocket = WebSocket.using[String] { request =>
// Log events to the console
val in = Iteratee.foreach[String](println).map { _ =>
println("Disconnected")
}
// Send a single 'Welcome!' message
val out = Enumerator("Welcome!")
(in, out)
}
}
을 어떻게 할 수있는, 내 "메시지"컨트롤러에서 request.body을 websocket에 보냅니 까?
감사합니다.
iteratees 또는 Akka/Actor를 사용하는 솔루션을 찾고 계십니까? 참조 : https://www.playframework.com/documentation/2.3.6/ScalaWebSockets#Handling-WebSockets-with-actors –
정말 모든 솔루션! – Morveus