2013-09-03 1 views
15

Chiedo semplicemente perché è necessario il Socket.IO dal punto di vista che tipo di applicazione o caso.Qual è lo scenario principale da utilizzare Socket.IO

Io sono l'autore iOS per ottenere sapendo progetto open source socket.IO-objc

Di solito abbiamo bisogno di HTTP o HTTPS per comunicare con il server, la presa di mira di raggiungere la comunicazione in tempo reale (dovrebbe sempre tenere in diretta da HTTP)

+0

Socket.IO è un "boilerplate" molto bello in cima a NodeJS. Usa websocket quando disponibili e ha alcuni metodi di backup se non disponibili. Ti aiuta a scrivere meno codice, che è più disponibile attraverso tutti i browser. – Schoening

risposta

25

Librerie come socket.IO sono necessarie quando abbiamo bisogno di tempo reale nella nostra app. Lascia che ti spieghi questo in modo più dettagliato. Supponiamo che tu stia sviluppando un gioco, che è multiplayer e 2 o più utenti possono giocare contemporaneamente. Quindi in questo caso non effettuerai chiamate HTTP o HTTPS per diversi motivi e uno di questi è che le loro dimensioni dei pacchetti sono grandi e altre che queste chiamate sono molto lente. In tali scenari utilizziamo librerie come socket per inviare e ricevere dati da e verso il server. i socket sono veramente veloci e sono in grado di inviare solo quei pacchetti di dati che sono necessari. usando la programmazione HTTP non puoi mai creare alcun gioco multiplayer o qualsiasi app che interagirà con il server in tempo reale.

lascia fare un altro esempio. Supponiamo che tu stia lavorando su un'applicazione di chat. quando l'utente A sta scrivendo qualcosa allora l'utente B dovrebbe sapere che A sta scrivendo, (simile a gtalk di facebook messenger). Se userete le chiamate HTTP in quel momento, "B" non potrà mai vedere lo stato effettivo di un'altra persona a causa del ritardo. quindi quello che possiamo usare sono i socket che quindi l'utente A sta digitando qualcosa, quindi il suo dispositivo invierà solo un pacchetto di dati che notificherà semplicemente al server che sta digitando e verrà consegnato all'utente B, questo processo è molto veloce (quasi in tempo reale) . e ridurrà anche il trasferimento dei dati.

+3

Va notato che questo è anche fattibile senza Socket.IO. I browser moderni supportano Websockets. Socket.IO utilizzerà questi e potrà eseguire il fallback su FlashSockets se necessario. – Schoening

1

Sto lavorando all'applicazione chat anche con socket.io. Quindi sembra sostituire tutto con socket.io. Questo mi sta mettendo in dubbio e curiosità. Sono totalmente d'accordo con l'app in tempo reale come chat suits per socket.io. Tuttavia esiste una comunicazione di andata e ritorno (come l'accesso utente) che è più adatta per HTTP.

-2

Socket.IO è una libreria JavaScript per applicazioni Web in tempo reale. Abilita la comunicazione bidirezionale in tempo reale tra client Web e server. Ha due parti: una libreria lato client che viene eseguita nel browser e una libreria lato server per node.js. Entrambi i componenti hanno un'API quasi identica.

+4

uomo, il ragazzo che ha chiesto un consiglio non ha bisogno di avere copia/incolla come post –