2013-04-26 3 views
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 메서드가 정의되어 있지 않습니다.부두 9 웹 소켓 onFrame 이벤트

감사

답변

2

당신은 웹 소켓 프레임에 액세스하려면 주석 WebSocket을을 사용해야합니다.

자바 독 :

예 소켓 :

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); 
    } 
} 

지금, 난 당신이 게시물에 액세스 할 필요가 왜, 요청해야 확장 프레임 처리 된 프레임?

+0

필요하지 않습니다. 여하튼 나는 이것이 전처리 된 프레임을위한 것이라고 생각했다. –

+1

@DouaBeri Jetty 7/8이 아닌 네트워크의 원시 프레임에 대한 API 액세스가 없습니다. 귀하가받는 프레임은 특정 WebSocket 엔드 포인트에 도달 할 때 확장 스택을 통해 처리됩니다. 참고 : 그런 종류의 액세스는 없을 것입니다. 논의되는 확장 기능 (특히 멀티 플렉스)은이 기능을 대단히 복잡하게 만듭니다. –