kontakt
Software house
>
Tag
>
Socket.io - bibioteka JS do komunikacji między klientami sieciowymi a serwerami
socket io

Socket.io - bibioteka JS do komunikacji między klientami sieciowymi a serwerami

Data wpisu
Kamil Nahotko
Autor
Kamil Nahotko

Kiedy chcemy zbudować taką aplikację jak komunikator tekstowy, potrzebujemy narzędzia, które obsłuży komunikację z serwerem w czasie rzeczywistym. W tym artykule opiszę właśnie narzędzie, które pomoże nam w tym celu.

socket.io

Czym jest Socket.IO?

Socket.IO został stworzony w 2010 roku przez Guillermo Raucha. Socket.IO jest to biblioteka do języka javascript, która pozwala na komunikację z serwerem w czasie rzeczywistym. Socket.IO pozwala na dwukierunkową komunikację między klientem a serwerem. Do nawiązania połączenia i wymiany danych między klientem a serwerem, Socket.IO używa Engine.IO, który jest biblioteką niższego poziomu niż Socket.IO. Engine.IO jest używany do implementacji serwera, a Engine.IO-client jest używany dla klienta.

Możliwości Socket.IO

Socket.IO zapewnia możliwość wdrażania analiz w czasie rzeczywistym, strumieniowania binarnego, błyskawicznie wysyłania i odbierania wiadomości. Socket.IO nawiązuję połączenia nawet w obecności kiedy użytkownik używa proxy, zapory systemowej i oprogramowania antywirusowego. Domyślnie obsługuje ponadto automatyczne ponowne łączenie, a także wykrywa odłączenie klienta od serwera i także w drugą stronę, serwer zostaje poinformowany o ewentualnym odłączeniu klienta. Korzystając z tej biblioteki programista nie musi wiedzieć, jak korzystać z protokołu WebSocket, aby korzystać z Socket.IO.

Użycie Socket.IO w praktyce

Poniższy przykład łączy Socket.IO do serwera HTTP nasłuchującego na porcie 3000.

const server = require('http').createServer();
const io = require('socket.io')(server);

io.on('connection', client => {
  client.on('event', data => { /* … */ });
  client.on('disconnect', () => { /* … */ });
});

server.listen(3000);

Połączenie z wykorzystaniem Express JS.

const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);

io.on('connection', () => { /* … */ });

server.listen(3000);

Case study: #socket-io
0 Aktualnie brak case study
Zobacz wszystkie