웹 소켓 소개


http 프로토콜 :
    HTTP 프로토콜 : 하이퍼 텍스트 전송 프로토콜
    전송 자원 페이지 (: http 프로토콜 기능 HTML / CSS / JS / MP3 / MP4 / ..)
    HTTP 작업 : 요청과 응답이
      요청을 시작하는 클라이언트 수 있어야합니다, 서버 것 응답하지만, 요청에 대한 응답이

문제가 :

  금융 산업 : [워렌 : 동향, 필요에 webScoket 이번에 시나리오는 다음과 같은 HTTP 프로토콜에서 사용하기에 적합하지 않을 수도 있습니다 일단.



웹 소켓 계약

   webSoket H5는 양방향 통신 브라우저와 서버를 수있는 새로운 기능이며, 크로스 도메인 액세스 지원
    웹 소켓 역할 : 네트워크간에 데이터를 전송하는
    웹 소켓 작업 : 브로드 캐스트를 듣고
    브라우저와 서버는 악수를 완료하는 데 필요한 직접 둘 사이 수 영구 연결 작성 수행을하고, 양방향 데이터 전송 .
    웹 소켓 응용 프로그램 시나리오 : 재고 차트 / 대화방
클라이언트를 달성 웹 소켓
    오브젝트 웹 소켓의 생성
    , VAR = 새로운 새로운 WS에게 웹 소켓 ( ": //127.0.0.1 9001 WS")
    계약 명 : WS
    9001 : 웹 소켓 서버의 기본 포트를


    - 수신 데이터 서버 웹 소켓
    ws.onmessage = 함수 (E) {e.data }


    - 서버로 데이터를 전송
    ws.send (stringMsg)
    - 연결 가까이
    (ws.close)를;

사용하고 서버에 맞춰 웹 소켓.

예를 들면 :

노드 서버를 설정, 구성 및 WebSocket

1  // 02_ws_server.js 
2  // Node.js를 WS 서버 
(3)  @ 1 : 다운로드 나 WS 모듈 NPM을 WS 
4.  // 2 : WS 모듈 혼입 
5. CONST (가) ( "WS"WS = 필요할 )
 6.  // 3 : 만들기 WS 서버 포트와 지정 8888 
. 7  VAR의 서버 = 새로운 새 ws.Server ({포트 : 8888 })
 . 8 CONSOLE.LOG ( "WS 서버가 수신 포트 시작" )
 9.  
10  
(11).  @ 4 : 결합 연결 클라이언트 연결 이벤트 이벤트 (만큼 클라이언트까지 연결되어,이 이벤트가 트리거) 
12 인 server.on ( "접속", (소켓) =가> {
 13은    CONSOLE.LOG ( "WS 서버 수신 연결" );
 14    //5 : 서버 연속적 클라이언트 타이머에 데이터를 전송한다 
(15)    VAR의 카운터 = 1. ;
 16    VAR의 =하여 setInterval (타이머 함수 () {
 17.      카운터 ++ ;
 18이다      socket.send는 (이하 "I AM 서버 -"+ 카운터); // 데이터 클라이언트, 매초마다 머리로 전송 
(19)    }, 1,000 )
 20    // 6 : 서버가 수신하는 클라이언트 데이터 
(21)가    socket.on ( "메시지"(MSG) => {
 22은      CONSOLE.LOG가 ( "서버가 수신 메시지 "+ MSG),
 23    })
 24    // 7. 요청을 분리하도록 클라이언트 타이머를 중지하면 
25    socket.on를 ("근접 "() => {
 26은      CONSOLE.LOG ("클라이언트 - 오프 열린 연결 ... ");
27      위해 clearInterval (타이머);
28    })
 29 });

 

프런트 엔드 코드

1  <! DOCTYPE html로 > 
2  < HTML LANG = "EN" > 
3  < 선두 > 
4        < 메타 캐릭터 = "UTF-8" > 
5        < 메타 이름 = "뷰포트" 콘텐츠 = "폭 = 기기 폭 초기 스케일 = 1.0" > 
6        < 메타 HTTP-당량 = "X-UA 호환" 콘텐츠 = "즉 에지 =" > 
7        < 타이틀 > 문헌 </ 타이틀 >
 
. 9  < 본문 > 
10        < 버튼 ID = "인 btn1" 온 클릭은 = "그 () 처리 handle1" >는 서버 데이터 수신 </ 버튼 > < BR > 
. 11        < 버튼 ID를 "인 btn1"= 의 onclick = "handle2 ()" > 는 서버에 정보를 보내는 </ 버튼 > < BR > 
12 인        < 버튼 ID "인 btn1"= 의 onclick = "handle3 ()" > 밀접한 </ 버튼 > < BR >
13        < 스크립트 >
14              // 객체가 웹 소켓 보유하는 변수를 만들 
15              VAR의    C =  새로운 새 웹 소켓 ( ' WS를 // 로컬 호스트 : 8888 ' ) // 생성 접속 
16              // 서버 수용 백 데이터에의 접속을 생성 
(17).              기능을 그 (핸들 handle1) {
 18는                    C. 의 onMessage = 함수 (E) { // 데이터를 수신 
. 19                          CONSOLE.LOG (e.data) // e.data를 상기 데이터 서버로부터 리턴 
(20)                    }
 (21)              }
 (22)이  
23 인  
24  
25              //은 , 연결을 생성하여 서버에 데이터를 송신한다 
(26)             함수 handle2 () {
 27                    c.send ( ' I 원위 흰색 ' ) // 서버에 송신하는 데이터 
(28)  
(29)              }
 (30)  
(31)는              
32              //이 분리 
33              함수 handle3 () {
 34은                    c.close ()
 35              }
 36        </ 스크립트 > 
37  </ 바디 > 
38 인  </ HTML >

 

추천

출처www.cnblogs.com/javascript9527/p/11347620.html