Java 将输出发送到play 2.0中的websocket

Java 将输出发送到play 2.0中的websocket,java,websocket,playframework-2.0,Java,Websocket,Playframework 2.0,我正在试图找到一种获取WebSocket.out的方法,以便在调用WebSocket.In的onMessage时激发一些数据 例如: public class Application extends Controller { public static Result index() { return ok(index.render("Your new application is ready.")); } public static WebSocket<String> s

我正在试图找到一种获取WebSocket.out的方法,以便在调用WebSocket.In的onMessage时激发一些数据

例如:

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);
}
公共类应用程序扩展控制器{
公共静态结果索引(){
返回ok(index.render(“新应用程序准备就绪”);
}
公共静态WebSocket sockHandler(){
返回新的WebSocket(){
public void onReady(WebSocket.In,WebSocket.Out){
in.onMessage(新的F.Callback(){
//在这里将一些数据发射回浏览器!!!
公共void调用(字符串事件){
Logger.info(事件);
}
});
写下(“我正在就你最近的websocket联系你。”);
}
};
}
私有静态void发送(WebSocket.Out,字符串数据){
输出。写入(数据);
}
}


非常感谢您的帮助。

请检查代码。它将为您提供一个用于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);
        }
    }
//向所有成员发送Json事件
public void notifyAll(字符串种类、字符串用户、字符串文本){
for(WebSocket.Out频道:members.values()){
ObjectNode事件=Json.newObject();
事件。放置(“种类”,种类);
事件放置(“用户”,用户);
事件放置(“消息”,文本);
ArrayNode m=event.putArray(“成员”);
对于(字符串u:members.keySet()){
m、 加(u);
}
通道写入(事件);
}
}
将一些数据写入
频道
,这是一个
WebSocket.Out