[webSocket] path parameters

첸첸·2021년 11월 11일
0

webSocket in java

목록 보기
6/9

@ServerEndpoint 를 사용해서 URI 템플릿을 사용할 수 있다.
예를 들어 아래와 같이 작성하면

@ServerEndpoint("/chatrooms/{room-name}")
public class ChatEndpoint {
   ...
}

endpoint가 local 서버 포트 8080 에 chatapp라는 이름으로 배포가 되어있다면 아래의 어떤 URI를 통해서도 연결이 가능하다.

http://localhost:8080/chatapp/chatrooms/currentnews
http://localhost:8080/chatapp/chatrooms/music
http://localhost:8080/chatapp/chatrooms/cars
http://localhost:8080/chatapp/chatrooms/technology

어노테이션 된 endpointsms path parameter를 @onOpen,@onMessage,@onClose 메소드의 인자로 받을 수 있다. 아래 예제는 endpoint가 @onOpen 메소드에 파라미터를 사용하여 클라이언트가 참여하고 싶은 채팅방을 결정한다.

@ServerEndpoint("/chatrooms/{room-name}")
public class ChatEndpoint {
   @OnOpen
   public void open(Session session, 
                    EndpointConfig c, 
                    @PathParam("room-name") String roomName) {
      // Add the client to the chat room of their choice ...
   }
}

참고
https://docs.oracle.com/javaee/7/tutorial/websocket008.htm

0개의 댓글