웹 소켓 초기 인식 및 사용

8639 단어 전단
webSocket
처음에는 간단 한 온라인 채 팅 방 을 실현 하려 고 했 는데 기본 적 인 기능 은 단체 채 팅 과 단체 채 팅 을 실현 할 수 있다 는 것 이 었 다. 자 료 를 찾 아 보 니 폴 링, 웹 소켓, Ajax 가 통신 을 실현 할 수 있 었 다.
  • webSocket
  • webSocket 소개
  • 기본 사용 방법
  • 클 라 이언 트 작성
  • 서버 작성
  • 방법 과 속성
  • 자세 한 내용 은 아래 블 로그
  • 를 참고 하 시기 바 랍 니 다.

    webSocket 소개
    웹 소켓 은 클 라 이언 트 와 서버 의 실시 간 통신 을 해결 하기 위 한 기술 이다.본질 적 으로 HTTP/HTTPS 프로 토 콜 을 통 해 악 수 를 한 후 데 이 터 를 교환 하 는 TCP 연결 을 만 든 다음 에 서버 와 클 라 이언 트 가 이 TCP 연결 을 통 해 실시 간 으로 통신 하 는 것 이다.실제 방법 은 우리 가 클 라 이언 트 와 서버 의 기능 을 각각 실현 할 수 있다 는 것 이다.클 라 이언 트 는 정 보 를 발표 하고 대화 정 보 를 표시 합 니 다.서버 는 메 시 지 를 받 아들 이 고 받 은 메 시 지 를 클 라 이언 트 에 보 내 는 것 입 니 다.전문 적 인 말: 1. 클 라 이언 트 브 라 우 저 를 사용 하여 웹 소켓 프로 토 콜 을 실현 합 니 다.2. 웹 페이지 에 코드 를 작성 하여 클 라 이언 트 Websocket 을 만 듭 니 다.3. 웹 서버 에 코드 를 작성 하여 웹 소켓 을 통 해 클 라 이언 트 요청 에 응답 합 니 다.
    기본 사용 방법
    클 라 이언 트 작성
    클 라 이언 트 가 웹 소켓 URI 를 통 해 웹 소켓 연결 을 시작 합 니 다. 웹 소켓 URI 모드 는 다음 과 같이 정의 합 니 다. 뉴스:/뉴스:/ws 는 일반적인 웹 소켓 통신 프로 토 콜 이 고 뉴스 는 안전 한 웹 소켓 통신 프로 토 콜 입 니 다 (HTTP 와 HTTPS 간 의 차이 와 같 습 니 다).부족 한 상황 에서 ws 의 포트 는 80 이 고 ws 의 포트 는 443 이다.
    클 라 이언 트 는 다음 작업 을 수행 해 야 합 니 다. 1. 웹 소켓 을 초기 화하 고 서버 에 연결 해 야 합 니 다.2. 성공 여 부 를 확인 하기 위해 테스트 합 니 다.3. 데 이 터 를 보 내 고 받는다.
    코드 는 다음 과 같 습 니 다:
      
    <html>  
    <head>  
    <title>Testing websocketstitle>  
    head>  
    <body>  
      <div>  
        <input type="submit" value="Start" onclick="start()" />  
      div>  
      <div id="messages">div>  
      <script type="text/javascript">  
        var webSocket =   
          new WebSocket('ws://localhost:8080/byteslounge/websocket');  
    
        webSocket.onerror = function(event) {  
          onError(event)  
        };  
    
        webSocket.onopen = function(event) {  
          onOpen(event)  
        };  
    
        webSocket.onmessage = function(event) {  
          onMessage(event)  
        };  
    
        function onMessage(event) {  
          document.getElementById('messages').innerHTML   
            += '
    '
    + event.data; } function onOpen(event) { document.getElementById('messages').innerHTML = 'Connection established'; } function onError(event) { alert(event.data); } function start() { webSocket.send('hello'); return false; }
    script> body> html>

    서버 작성
    코드 는 다음 과 같 습 니 다:
    package com.byteslounge.websockets;  
    
    import java.io.IOException;  
    
    import javax.websocket.OnClose;  
    import javax.websocket.OnMessage;  
    import javax.websocket.OnOpen;  
    import javax.websocket.Session;  
    import javax.websocket.server.ServerEndpoint;  
    
    @ServerEndpoint("/websocket")  
    public class WebSocketTest {  
    
      @OnMessage  
      public void onMessage(String message, Session session)   
        throws IOException, InterruptedException {  
    
        // Print the client message for testing purposes  
        System.out.println("Received: " + message);  
    
        // Send the first message to the client  
        session.getBasicRemote().sendText("This is the first server message");  
    
        // Send 3 messages to the client every 5 seconds  
        int sentMessages = 0;  
        while(sentMessages < 3){  
          Thread.sleep(5000);  
          session.getBasicRemote().  
            sendText("This is an intermediate server message. Count: "   
              + sentMessages);  
          sentMessages++;  
        }  
    
        // Send a final message to the client  
        session.getBasicRemote().sendText("This is the last server message");  
      }  
    
      @OnOpen  
      public void onOpen() {  
        System.out.println("Client connected");  
      }  
    
      @OnClose  
      public void onClose() {  
        System.out.println("Connection closed");  
      }  
    }  

    방법 과 속성
    명칭.
    유형
    묘사 하 다.
    WebSocket
    대상
    원 격 호스트 에 제공 되 는 양 방향 채널 입 니 다.
    close
    방법.
    웹 소켓 을 닫 습 니 다.
    send
    방법.
    웹 소켓 으로 서버 에 데 이 터 를 보 냅 니 다.
    binaryType
    속성
    onmessage 에서 받 은 바 이 너 리 데이터 형식 입 니 다.
    bufferedAmount
    속성
    send 의 줄 을 서 있 는 데이터 바이트 수 를 사용 합 니 다.
    extensions
    속성
    서버 에서 선택 한 확장 자 를 보고 합 니 다.
    onclose
    속성
    소켓 이 닫 혔 을 때 호출 되 는 이벤트 처리 프로그램 입 니 다.
    onerror
    속성
    오류 가 발생 했 을 때 호출 된 이벤트 처리 프로그램 입 니 다.
    onmessage
    속성
    메 시 지 를 받 은 이벤트 처리 프로그램 을 알 립 니 다.
    onopen
    속성
    웹 소켓 이 연결 되 었 을 때 호출 되 는 이벤트 처리 프로그램 입 니 다.
    protocol
    속성
    서버 에서 선택 한 프로 토 콜 을 보고 합 니 다.
    readyState
    속성
    웹 소켓 연결 상 태 를 보고 합 니 다.
    url
    속성
    보고서 소켓 의 현재 URL 입 니 다.
    자세 한 내용 은 아래 블 로 그 를 참고 하 시기 바 랍 니 다.
  • webSocket 주석
  • webSocket 인 스 턴 스
  • 온라인 채 팅 방 소스 다운로드
  • 좋은 웹페이지 즐겨찾기