Как использовать TLS в Play! Framework WebSockets («wss: //»)
Я не могу использоватьwss://
в моем простом приложении WebSocket, созданном с помощью Play! Framework 2.2. Это повторяет сообщение назад. Конечная точка такая
def indexWS2 = WebSocket.using[String] {
request => {
println("got connection to indexWS2")
var channel: Option[Concurrent.Channel[String]] = None
val outEnumerator: Enumerator[String] = Concurrent.unicast(c => channel = Some(c))
// Log events to the console
val myIteratee: Iteratee[String, Unit] = Iteratee.foreach[String] {gotString => {
println("received: " + gotString)
// send string back
channel.foreach(_.push("echoing back \"" + gotString + "\""))
}}
(myIteratee, outEnumerator)
}
}
и маршрут описывается как
GET /ws2 controllers.Application.indexWS2
Я создаю соединение с клиентом JS, как это
myWebSocket = new WebSocket("ws://localhost:9000/ws2");
и все работает отлично. Но если я изменюws://
вwss://
чтобы использовать TLS, он терпит неудачу, и я получаю следующее исключение Netty:
[error] p.nettyException - Exception caught in Netty
java.lang.IllegalArgumentException: empty text
Как я могу сделать эту работу? Благодарю.