Ce este WebSocket

WebSocket (websocket) - un protocol full-duplex de comunicare prin TCP-conexiunea. Asta este, folosind acest protocol poate trimite și primi un mesaj în același timp. Acesta permite schimbul în timp real a mesajelor între browser și server.

prize web pentru o lungă perioadă de timp nu sunt experimentale. este utilizat în jocurile bazate pe browser, sisteme interactive, sistem de plăți. Sockets Web sunt acum parte a web moderne!

Browser - server de web. Cum funcționează și ce trebuie să se schimbe?

Există un număr destul de mare de probleme, pe care avem nevoie pentru a obține asincron folosind HTTP-protocol. Aceasta este, în cazul în care serverul se va schimba, atunci ai nevoie pentru a obține aceste schimbări în browser, fără a fi nevoie să reporniți. Un astfel de exemplu - o cameră de chat în cazul în care oamenii comunică, și atunci când un prieten trimite un mesaj este vizibil destinatarului instantaneu, fără a reîncărca pagina. Anterior, crearea acestui tip de cerere nu a fost ușor, au existat diferite grade de interpretare, care imitau serverul push-acțiune. Un astfel de exemplu - este organizată pe cadrele client care sunt reîncărcate o dată pe a doua și a trimite cereri către server.

Ce este WebSocket

Această abordare are multe dezavantaje - pentru a crea un număr foarte mare de cereri la server, este dificil de a organiza o serie de aplicații de structură corespunzătoare. Am cea mai mare problemă - asta este ceea ce facem ca răspuns server de emulare la un eveniment. Întotdeauna clientul (browser) primește date de la o lungă întârziere.

Și acum să vorbim despre AJAX. Atunci când obiectul XMLHttpRequest apar în browser-ul, situația sa îmbunătățit ușor. În acest caz, putem interacționa cu serverul în conformitate cu schema de votare pe termen lung. Mai jos sunt descrise punctele circuitului:

  • Client (browser) trimite o cerere la server,
  • Conexiunea nu este închisă, iar clientul așteaptă apariția unui eveniment,
  • Atunci când are loc evenimentul clientul primește un răspuns la cererea sa,
  • Clientul apoi trimite o nouă interogare.

Ce este WebSocket

Cu această abordare, avem cereri asincrone la server și răspunsurile sunt manipulate cu ajutorul funcțiilor de apel invers. Dar această abordare are unele dezavantaje. Principalul dezavantaj al acestei abordări este că există un server și server de evenimente nu sunt inițiate interacțiune.

Nu atât de mult timp în urmă a existat un nou protocol, care nu are aceste dezavantaje, pe care le-am enumerate mai sus. Noua tehnologie WebSockets este o implementare a protocolului full-duplex de comunicare TCP-conexiune.

De ce WebSockets? Pro și contra de protocol ws

Folosind tehnologia de Web Sockets, trebuie să ne uităm sistemul obișnuit de cooperare în lume WWW. Avem nevoie să înscrie un model standard HTTP-Protocol - „cerere / răspuns la solicitare.“ Ca parte a tehnologiei Sockets Web browser-ul și serverul în orice moment se poate trimite și primi date, atunci mănâncă devine participanți egali.

WebSocket stabilește o singură conexiune client la server. WebSockets de a lucra cu ambele părți (client și server) trebuie să sprijine această tehnologie. Toate noile browsere acceptă protocolul WS, iar partea de server este implementat de către dezvoltator. Când serverul și clientul este gata pentru „lupta“, serverul și clientul poate trimite prin mesajul text de text Sockets Web. Trimiterea și primirea de date are loc imediat, această tehnologie creează o canale de comunicare bi-direcționale.

Deoarece conectarea la client și server nu se închide (este menținut deschis în mod constant), se evită transmiterea inutilă a datelor (HTTP-antete). Standardul WebSockets, nu există nici o restricție privind numărul de conexiuni deschise și cererea următoare.

În această lecție am învățat - ce metode au cereri asincrone la serverul pe care este WebSocket, și ce avantaje are în comparație cu Ajax și cadre HTML. În lecția următoare vom începe să lucreze cu Node.js WebSocket, vom lua în considerare mai în detaliu tehnologia în acțiune și a scrie pe chat-ul Web Sockets și Node.js. Lista completa Node.js lecții veți găsi pe această pagină.