Как использовать WebSockets с Play Framework?

Я загрузил Play Framework с GitHub и скомпилировал его. Теперь я хочу использовать WebSockets и создал клиент JavaScript и контроллер WebSocket, аналогичный тому, что описан в с использованием WebSockets , но это не работает. Я могу открыть WebSocket, но контроллер не получает ни одного сообщения, которое я ему отправляю. И я не могу закрыть WebSocket с помощью ws.close (); , но если я обновляю свою веб-страницу в браузере, WebSocket закрывается на сервере.

Как я могу получать и отправлять сообщения WebSocket с помощью Play Framework?

Вот мой контроллер Play Framework WebSocketController:

public class TestSocket extends WebSocketController {

    public static void hello(String name) {

        while(inbound.isOpen()) {
            WebSocketEvent evt = await(inbound.nextEvent());
            if(evt instanceof WebSocketFrame) {
                WebSocketFrame frame = (WebSocketFrame)evt;
                System.out.println("received: " + frame.getTextData());
                if(!frame.isBinary()) {
                    if(frame.getTextData().equals("quit")) {
                        outbound.send("Bye!");
                        disconnect();
                    } else {
                        outbound.send("Echo: %s", frame.getTextData());
                    }
                }
            } else if(evt instanceof WebSocketClose) {
                System.out.println("socket closed");
            }
        }
    }

}

Вот мой клиент JavaScript:





WebSocket test




WebSocket test


9
задан Jonas 27 October 2011 в 17:24
поделиться