1

古いバージョンの jetty (7 および 8) では、websocket の onFrame ( http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/websocket/WebSocket.OnFrame.html ) イベントがありました。 . バージョン 9 に相当するものはありますか? WebSocketListener ( http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/api/WebSocketListener.html ) インターフェイスがありますが、onFrame メソッドが定義されていません。

ありがとう

4

1 に答える 1

2

Websocket フレームにアクセスするには、注釈付きの Websocket を使用する必要があります。

Javadoc:

ソケットの例:

package examples;

import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketFrame;
import org.eclipse.jetty.websocket.api.annotations.WebSocket;
import org.eclipse.jetty.websocket.api.extensions.Frame;

@WebSocket
public class AnnotatedFramesSocket
{
    @OnWebSocketClose
    public void onClose(int statusCode, String reason)
    {
        System.out.printf("onClose(%d, %s)%n",statusCode,reason);
    }

    @OnWebSocketConnect
    public void onConnect(Session sess)
    {
        System.out.printf("onConnect(%s)%n",sess);
    }

    @OnWebSocketFrame
    public void onFrame(Frame frame)
    {
        System.out.printf("onFrame(%s)%n",frame);
    }
}

では、なぜ拡張処理後のフレームにアクセスする必要があるのでしょうか。

于 2013-04-26T20:44:06.640 に答える