Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Tampereen ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite
  •   Ammattikorkeakoulut
  • Tampereen ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite

Chat-sovellus Socket.IO-kirjaston avulla

Hyvärinen, Seppo (2023)

 
Avaa tiedosto
Hyvarinen_Seppo.pdf (1.091Mt)
Lataukset: 


Hyvärinen, Seppo
2023
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023051410602
Tiivistelmä
Tämän opinnäytetyön aiheena on esitellä WebSocket-teknologiaa, vertailla sitä vanhempiin kommunikaatiomenetelmiin ja syventyä vielä erityisesti Socket.IO-nimiseen kirjastoon, joka käyttää hyödykseen sekä WebSocket protokollaa, että vanhempaa HTTP-protokollaa. Tutkimukseen käytettiin lukuisia kirjallisia sekä internet-lähteitä. Tutkimustuloksena syntyi pienimuotoinen chat-sovellus, joka on rakennettu Socket.IO-kirjastoa käyttäen.

Työssä käsitellään HTTP-protokollaa sekä WebSocket-protokollaa. Ongelma vanhemmassa HTTP-protokollassa nykyajan reaaliaikaisiin sovelluksiin verrattuna on, että HTTP on suunniteltu niin sanotuksi vuorosuuntaiseksi yhteydeksi. Tämän vuorosuuntaisuuden kiertämiseksi on käytetty erilaisia tekniikoita, esimerkiksi HTTP-polling, sekä long-polling. Jos halutaan kuitenkin luoda aidosti reaaliaikainen sovellus, kuten esimerkiksi chat-sovellus, ei HTTP:n tarjoamat kiertotiet tälle ole riittäviä tälle yksisuuntaisuudelle. Reaaliaikaiset sovellukset tuovatkin parhaiten esiin WebSocketin edut vanhempaan HTTP:hen nähden. WebSocketin ollessa puhelinkeskustelua muistuttava, kaksisuuntainen ja välitön protokolla, se soveltuu täydellisesti chat-sovelluksen luomiseen. Joissakin tapauksissa WebSocket-yhteyttä ei kuitenkaan voida muodostaa, mistä syystä kirjastot kuten Socket.IO ovat hyvä valinta kehittäjälle. Socket.IO ratkaisee ongelman ”laskemalla” tarvittaessa WebSocket-yhteyden vanhem-paan http long-polling teknologiaan, joka jäljittelee reaaliaikaisuutta. Näin ollen Socket.IO on web-kehittäjälle ihanteellinen ratkaisu monessa tilanteessa.

Työssä esitellään vaihe vaiheelta, miten voidaan kehittää pienimuotoinen fullstack chat -sovellus käyttämällä Socket.IO kirjastoa. Sovellus koodattiin Ja-vaScript kielellä. Frontend toteutettiin React.js:llä ja backend puolestaan ra-kennettiin Node.js:llä käyttäen Express.js-kirjastoa. Socket.IO-kirjasto kytkettiin kumpaankin, ja sen avulla sovelluksessa toteutettiin kommunikaatio asiakkaan (frontend) ja palvelimen (backend) välillä. Opinnäytetyöprosessissa toteutettu sovellus oli kohtuullisen vaivaton toteuttaa ja sen perusteella voidaankin olettaa, että Socket.IO tulee kirjastona olemaan vielä pitkän aikaa käytetty ja ajankohtainen.
 
Kokoelmat
  • Opinnäytetyöt (Avoin kokoelma)
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste