0

Play フレームワーク 2.1.x を使用しています

Websocket を正常に作成できましたが、データをクライアントに送信するとすぐに閉じます。1.x には await 関数を使用するメカニズムがあるようですが、WebSocketController が非推奨になったため、非推奨です。WebSocket の「寿命」を確保するにはどうすればよいですか

public static WebSocket<String> loggedInSocket() {

    try {
        final Http.Session session = session();
        String username = session(AppConstants.USERNAME);
        connection = getConnection(username);
        connection = XMPPConnectionHandler.performLogin(xmppLogin.getLoggedinuser().getUsername(),xmppLogin.getLoggedinuser().getPassword(),connection);
        getAllData();

    } catch (Exception e) {
        e.printStackTrace();
        Logger.error(e.getLocalizedMessage());
    }
    return new WebSocket<String>() {
        public void onReady(WebSocket.In<String> in, WebSocket.Out<String> out) {
            System.out.println("ready");
            in.onMessage(new F.Callback() {
                public void invoke(String event) {
                    System.out.println(event);
                }

                @Override
                public void invoke(Object a) throws Throwable {
                    // TODO Auto-generated method stub

                }
            });

            in.onClose(new F.Callback0() {
                public void invoke() {
                    System.out.println("Disconnected");
                }
            });
            out.write("Hello");
        }
    };
}
4

1 に答える 1

0

例外が発生したため、ソケットが閉じていました。

于 2013-09-23T17:48:29.283 に答える