3

WebSocket.In の onMessage が呼び出されたときに WebSocket.Out にデータを送信させる方法を見つけようとしています。

例えば:

public class Application extends Controller {

public static Result index() {
    return ok(index.render("Your new application is ready."));
}

public static WebSocket<String> sockHandler() {
    return new WebSocket<String>() {
        public void onReady(WebSocket.In<String> in, WebSocket.Out<String> out) {
            in.onMessage(new F.Callback<String>() {
                // FIRE SOME DATA BACK OUT TO BROWSER HERE!!!
                public void invoke(String event) {
                    Logger.info(event);
                }
            });

            out.write("I'm contacting you regarding your recent websocket.");
        }
    };
}

private static void send(WebSocket.Out<String> out, String data){
    out.write(data);
}

}

どんな助けでも大歓迎です。

4

1 に答える 1

2

websocket-chat サンプル アプリケーションのコードを確認してください。Websocket 管理用にコピーするモデルが提供されます。

たとえば、次のコード:

 // Send a Json event to all members
    public void notifyAll(String kind, String user, String text) {
        for(WebSocket.Out<JsonNode> channel: members.values()) {

            ObjectNode event = Json.newObject();
            event.put("kind", kind);
            event.put("user", user);
            event.put("message", text);

            ArrayNode m = event.putArray("members");
            for(String u: members.keySet()) {
                m.add(u);
            }

            channel.write(event);
        }
    }

channelである にデータを書き込みますWebSocket.Out<JsonNode>

于 2012-04-18T07:46:40.870 に答える