В соединении WebSocket есть две части: сервер и клиент. Вы можете просто сделать серверную часть с помощью PLAY2 и реализовать клиент с Android (см websocket-android-phonegap), прошивкой (см Unitt), приложением яваскрипта ...
Вот пример для самой основной связи с WebSocket, взятой из http://blog.tksfz.org/2012/10/12/websockets-echo-using-play-scala-and-actors-part-i/ :
package controllers
import play.api.mvc._
object Application extends Controller {
def index = WebSocket.using[String] {
val out = Enumerator.imperative[String]()
val in = Iteratee.foreach[String] {
msg =>
out.push(msg)
}
(in, out)
}
}
Вы только должны установить маршрут, указывающий на контроллер conf/routes
:
GET /connect Application.index
сервер повторно ady для запуска. Затем вы можете подключиться к вашему WebSocket с помощью приложения javascript, приложения для Android и т. Д. Клиентская сторона - другое дело.
Если вы используете хром или хром, просто откройте консоль JavaScript инструментов разработчика, и вы можете подключиться к серверу просто так:
ws = new WebSocket('ws://localhost:9000/connect')
ws.onmessage = function(message) { console.log(message); };
ws.send('test')
Он пошлет вас обратно сообщение и зарегистрировать ее в JavaScript при каждом отправке.
Вы также можете использовать тест эхо-сигнала http://www.websocket.org/echo.html и подать его на ваш адрес 'ws://localhost:9000/connect'
.
Я смущенный. WebSockets - это обходной путь, который существует, потому что HTTP не разрешает двунаправленные связи с состоянием. У вас нет этого ограничения при разработке собственного приложения (за исключением случаев, когда вы используете Apache Cordova или аналогичные, но тогда вы будете использовать Javascript). Так почему вы берете этот маршрут? – Carsten
Привет Carsten. Я не знаю ни одного другого дуплексного протокола, который позволяет передавать данные в реальном времени с сервера на клиент. Push-уведомления для родных приложений (например, GCM) не в режиме реального времени. Вы знаете альтернативный способ? – ticofab
0MQ - это решение для потоковой передачи пабов/суб. http://zeromq.org/ –