Протокол HTTP:
HTTP Протокола: Hypertext Transfer Protocol
Функции протокола HTTP: передача страница ресурса ( HTML / CSS / JS / MP3 / MP4 / ..)
HTTP работы: запрос и ответ
должен быть клиентом , чтобы инициировать запрос, сервер будет есть ответ, но ответ на запрос
вопросы:
После того как сценарии не подходят для использования в протоколах HTTP, такие как: финансовая индустрия: [Уоррен: ТРЕНД], на этот раз на необходимости webScoket.
WebSocket соглашение
webSoket H5 это новая функция, которая позволяет двунаправленную браузер связи и сервер, и он поддерживает междоменный доступ
роли WebSocket: для передачи данных между сетью
WebSocket работой: трансляциями и слушать
браузер и сервер должен выполнить только рукопожатие , непосредственно между ними может создать постоянное соединение осуществляться, и двусторонняя передача данных .
Сценарии применения WebSocket: биржевые диаграммы / чат
WebSocket достижения клиента
, чтобы создать объект WebSocket
Var = новый новый WS в WebSocket ( "WS: //127.0.0.1: 9001");
WS: Соглашение Имя
9001: WebSocket порт сервераумолчанию
- принимающий сервер данных WebSocket
ws.onmessage = функция (е) {e.data }
- отправить данные на сервер
ws.send (stringMsg);
- закрыть соединение
ws.close ();
WebSocket использовать и в соответствии с сервером.
Примеры:
Настройка сервера узла, выполненный с WebSocket
1 // 02_ws_server.js
2 // Node.js WS сервер
3 @ 1: Скачать I Ws Ws модуль НПМ
4. // 2: WS модуль включен
5. Const Требовать Ws = ( "WS" );
6. // 3: Создать WS порт сервера и обозначен 8888
. 7 вар сервер = новый новый ws.Server ({порт: 8888 });
. 8 console.log ( "WS - сервер начинает слушать порт" );
9.
10
11. @ 4: связывание соединения событие соединения клиента событие ( до тех пор , пока клиент подключается вверх, это событие будет вызывать)
12 server.on ( «соединение», (гнездо) => {
13 console.log ( «WS - сервер приема соединение» );
14 //5: сервер постоянно передает данные на таймер клиент
15 вар счетчик = 1. ;
16 вар Таймер = setInterval ( функция () {
17. Счетчик ++ ;
18 socket.send ( "Я ЕСМЬ Сервер -" + счетчик); // данные отправленные клиенту, один раз в секунду волос
19 }, 1000 );
20 // 6: сервер получает клиентские данные
21 socket.on ( "Сообщение", (МСГ) => {
22 console.log ( «сервер получает сообщение "+ MSG);
23 });
24 // 7:. Если клиент , чтобы отключить запрос останавливает таймер
25 socket.on (" Закрыть "() => {
26 console.log (" клиент-офф открытые соединения ... ");
27 clearInterval (таймер);
28 })
29 });
Фронтальный код
1 <! DOCTYPE HTML > 2 < HTML языки = "EN" > 3 < голова > 4 < мета кодировки = "UTF-8" > 5 < мета имя = "вьюпорт" содержание = "ширина = Устройство ширина, начально-шкала = 1.0" > 6 < мета HTTP-эквив = "X-UA-Compatible" содержание = " то есть = край" > 7 < название > Документ </ название > . 9 < тела > 10 < Кнопка ID = "btn1" OnClick = "handle1 ручки , что ()" > принимает данные сервера </ Кнопка > < бр > . 11 < Кнопка ID = "btn1" в OnClick = "handle2 ()" > отправить информацию на сервер </ Кнопка > < BR > 12 < Кнопка ID = "btn1" в OnClick = "handle3 ()" > тесная связь </ Кнопка > < BR > 13 < скрипт > 14 // Создать переменную для хранения объект WebSocket 15 вар С = новый новый WebSocket ( « WS: // локальный: 8888 » ) // создать соединение 16 // создать соединение обратно к данным приема сервер 17. Функцию handle1 ручки , что () { 18 С. OnMessage = функция (Е) { // получить данные . 19 в console.log (e.data) // e.data, данные , возвращенные из сервера 20 } 21 } 22 является 23 24 25 // создать соединение, передает данные на сервер 26 Функция handle2 () { 27 c.send ( ' Я дистальная белый ' ) // данные , передаваемые на сервер 28 29 } 30 31 32 // отключить 33 Функция handle3 () { 34 c.close () 35 } 36 </ скрипт > 37 [ </ тело > 38 </ HTML >