Innholdsfortegnelse
Nettapplikasjoner har endret seg og utviklet seg, dette gjør brukernes behov annerledes enn da den første tilkoblingsprotokollen ble opprettet på nettverket. Følgelig protokollen HTTP har utviklet seg gjennom årene, men har ennå ikke nådd et sanntidsnivå, for eksempel en forbindelse TCP mellom to lag.Disse begrensningene, i stedet for å skade utviklere og brukere, har blitt en kilde til motivasjon og kreativitet, og genererer løsninger som lar oss ikke bare etterligne et overføringssystem i sanntid, men også gjennom HTTP gjør det nesten naturlig.
WebsocketDet er her Websocket, en relativt ny protokoll som bare støttes av de mest moderne nettleserne, som lar oss fjerne HTTP for alle begrensningene og dermed kunne kommunisere effektivt gjennom overskrifter FÅ.
Websocket Det er fortsatt i en periode med aktiv modning, så det er veldig mulig at vi ikke finner det i nye løsninger, heldigvis i Node.js vi har allerede noen verktøy som lar oss håndtere dem uten å måtte stole på vår oppfinnsomhet for å bygge verktøy på lavere nivå.
KravDette er en avansert opplæring, så vi vil først kreve en funksjonell installasjon av Node.js I vårt system kan vi ta en titt på denne opplæringen før vi fortsetter å fordype oss i den. I tillegg trenger vi administratorrettigheter for å kunne installere bibliotekene vi skal bruke. Vi må være kjent med begrepene JavaScript for eksempel Ring tilbake og anonyme funksjoner. Til slutt må vi ha en tekstredigerer som Sublim tekst som lar oss skrive de forskjellige kodene som er i eksemplene.
For å begynne å lage et program som lar oss bruke Websockets Vi må først bygge en liten struktur, dette er veldig enkelt, men nødvendig, denne strukturen vil bestå av:
1- En mappe der vi vil lagre filene til prosjektet vårt.
2- En fil som heter server.js, vil denne filen, som navnet indikerer, være serveren som vi skal etablere forbindelsen i sanntid ved å bruke Websockets.
3- En fil som heter client.html, vil denne filen være grensesnittet for å kommunisere med serveren vår gjennom nettleseren, det er nødvendig å ha den samme slik at vi kan sende og motta tilsvarende informasjon.
Siden vi har definert strukturen vår nå kan vi begynne å ta noen linjer med kode, for dette må vi starte med å installere et eksternt bibliotek som heter ws i vårt miljø, siden dette er den som lar oss bruke den aktuelle protokollen. For å installere dette biblioteket må vi bare åpne konsollen Node.js, befinner vi oss i mappen der filene våre skal være, og vi plasserer følgende kommando:
npm installer wsNår vi utfører det, kan vi se følgende resultat i kommandokonsollen:
var WSServer = require ('ws'). Server, wss = ny WSServer ({port: 8085}); wss.on ('tilkobling', funksjon (socket) {socket.on ('melding', funksjon (msg) {console.log ('mottatt:', msg, '\ n', 'From IP:', socket. upgradeReq.connection.remoteAddress); if (msg === 'Hello') {socket.send ('Yes it works!');}}); socket.on ('close', function (code, desc) {console .log ('Frakoblet:' + kode + '-' + desc);});});Det første vi gjør er å kreve biblioteket ws som vi nettopp installerte og umiddelbart i samme instruksjon ring rassen din Server, så lager vi en forekomst som vi skal lage en server som kjører på porten 8085Denne porten kan være hva vi har tilgang til. I dette tilfellet brukes 8085 slik at det ikke er noen konflikt med andre tjenester som for øyeblikket er i dette testmiljøet.
Siden vi har definert vår forekomst nå, skal vi bruke metoden.på () for tilkoblingshendelsen, deretter i Ring tilbake fra den passerer vi et objekt kalt stikkontakt, med dette vil vi motta meldingene fra klienten, og vi har skrevet en rutine om at hvis vi mottar ordet "Hallo" serveren vil returnere en melding, hvor vi igjen vil skrive ut noe i kommandokonsollen. Til slutt, hvis vi stenger tilkoblingen, vil vi bare ha en melding på konsollen.
Når vi har serveren vår er det på tide å bygge vår klient, for den i filen client.html vi skal definere en struktur der vi skal plassere html -koder og a JavaScript som vil fungere som en lenke til serveren vår. La oss se hvordan filen vår ser ut:
Websockets Client SendDen delen HTML er ganske enkelt, har vi en teksttype og en send -knapp, samt en div kalt output som er hvem som vil motta informasjonen fra serveren for å vise den til brukeren. Det interessante kommer i etiketten der det første vi gjør er å lage et objekt av typen WebSocket og vi angir ruten hvor du må finne den, i vårt tilfelle er det lokal vert: 8085 og så kan vi se at det vi gjorde i server.js. Vi kobler deretter våre sende-, tekst- og utgangselementer til variabler som vi kan bruke.
Det vi gjør er å definere hver av metodene vi kan motta fra serveren, så hver gang vi sender noe, blir det registrert i utdataene våre, alt takket være metoden send (). Den andre metoden vi bruker er onmessage () som bare aktiveres hvis serveren vår reagerer og vi legger til resultatet i HTML -koden vår.
Til slutt bruker vi metodene onclose () Y onerror (), den første gir oss en melding når forbindelsen med Websocket stoppes eller lukkes, og den andre informerer oss i tilfelle det har oppstått en feil. Med dette trenger vi bare å starte serveren i konsollen vår og få vårt eksempel til å fungere, for dette bruker vi følgende kommando:
node server.jsDette starter serveren, men for å bekrefte funksjonaliteten til koden vår må vi kjøre filen client.html i vår nettleser og skrive noe i tekstboksen og trykke på send -knappen, dette vil generere kommunikasjon med websocket og vi kan se svaret etter konsoll:
Det vi har vist er en av de mest rudimentære og manuelle måtene som finnes, men det fungerer for oss å vite hvordan arbeidsflyten er, men den virkelige funksjonaliteten klar for produksjonsmiljøer oppnås med biblioteket socket.io, dette gjør det samme som vi gjorde i opplæringen, men i en mye mer kompakt og mindre utsatt for feil fra utvikleren, noe som gjør at vi bare kan fokusere på applikasjonens logikk og ikke så mye på den tekniske delen av den.
For installasjon socket.io vi må bare gjøre en npm installer socket.io og med dette fra depotet vil vi laste ned den siste stabile versjonen av biblioteket, som lar oss starte utviklingen vår.
Med dette har vi fullført denne opplæringen, som vi har tatt et viktig skritt innen Node.js ved å vite hvordan du bruker Websockets, blir denne teknologien viktigere for hver dag ettersom den hjelper oss med å lage applikasjoner som det aldri var tenkt på på nettet. Det er også viktig at vi dokumenterer oss selv om protokollen siden det er en måte å forstå potensialet til hva vi kan oppnå ved å utvikle applikasjoner.