ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 28. WebSocket
    개발자 수업/JSP 2022. 2. 3. 16:55

    1. 소켓 (Socket)
        1) 네트워크에서 동작하는 프로그램의 종착점(endpoint)
        2) ip 주소와 port 번호로 이루어짐
        3) 서버와 클라이언트가 양방향 통신할 수 있게 해주는 소프트웨어 장치
            - 둘 다 소켓을 생성하여 연결해줘야함

    2. 소켓 통신 절차
        1) 서버에서 서버용 소켓(ServerSocket)을 생성, 클라이언트의 접속 대기함
        2) 클라이언트가 소켓(Socket) 생성하여 서버로 연결 요청함
        3) 서버가 접속을 허가(accept)함
        4) 서버와 클라이언트는 각각 통신을 위한 I/O 스트림 생성함
        5) 스트림을 통해 서버와 클라이언트가 통신함(write, read)
        6) 클라이언트가 모든 작업을 마친 후 소켓 종료(close)함
        7) 서버는 새로운 클라이언트 접속을 위해 대기(accept)하거나, 종료(close)할 수 있음

    3. 웹 소켓
        1) 일반적인 웹 환경은 클라이언트의 요청을 받으면 응답 후 바로 연결을 종료하는 비연결(connectionless) 동기 소켓 방식을 사용함
        2) 웹소켓(WebSocket)은 클라이언트의 요청에 응답한 후에도 연결을 그대로 유지하는 연결 지향 방식(connection oriented)임
            - 별도의 요청이 없어도 서버는 원하면 언제든 클라이언트로 데이터를 전송 가능함

    4. 웹 소켓 서버 구현 시 사용하는 어노테이션
        1) @ServerEndPoint : 웹소켓 서버의 요청명을 설정함
        2) @OnOpen : 클라이언트 접속 시 실행되는 메서드를 정의
        3) @OnMessage : 클라이언트로부터 메세지가 전송되었을 때 실행되는 메서드 정의
        4) @OnClose : 클라이언트의 접속이 종료되면 실행되는 메서드 정의
        5) @OnError : 에러 발생 시 실행되는 메서드 정의

    5. 채팅 서버 구현
        http://tomcat.apache.org/whichversion.html
        ws://호스트:포트번호/컨텍스트루트/ChatingServer

    6. 채팅 클라이언트 구현
        1) 채팅 참여 화면
        2) 채팅 창 화면
        

    '개발자 수업 > JSP' 카테고리의 다른 글

    27. Model2 방식 - 게시판  (0) 2021.12.22
    26. Model2 방식 - 회원  (0) 2021.12.22
    25. Model2 방식  (0) 2021.12.21
    24. jQuery Ajax  (0) 2021.12.20
    23. 파일 업로드 다운로드  (0) 2021.12.16

    댓글