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 >