Frage Welches ist das Hauptszenario für Socket.IO?


Ich frage mich nur, warum wir das brauchen Sockel.IO vom Standpunkt, welche Art von Anwendung oder Fall.

Ich bin der iOS-Entwickler, der Open-Source-Projekte kennt socket.IO-objc 

Normalerweise benötigen wir HTTP oder HTTPS um mit dem Server zu kommunizieren, der Socket zielt darauf ab die Echtzeitkommunikation zu erreichen (sollte immer live von HTTP bleiben)


16
2017-09-03 08:05


Ursprung


Antworten:


Bibliotheken wie socket.IO werden benötigt, wenn wir Echtzeit in unserer App benötigen. Lassen Sie mich das etwas ausführlicher erklären. Lass uns annehmen, dass du ein Spiel entwickelst, welches Multiplayer ist und 2 oder mehr User gleichzeitig spielen können. In diesem Fall werden Sie aus vielen Gründen keine HTTP- oder HTTPS-Anrufe tätigen, und einer davon ist, dass ihre Paketgröße groß ist, und andere sind, dass diese Anrufe sehr langsam sind. In solchen Szenarien verwenden wir Bibliotheken wie Sockets zum Senden und Empfangen von Daten zum und vom Server. Sockets sind sehr schnell und können nur die Datenpakete senden, die benötigt werden. Mit der HTTP-Programmierung können Sie niemals ein Multiplayer-Spiel oder eine App erstellen, die mit dem Server auf Echtzeitbasis interagieren.

Nehmen wir ein anderes Beispiel. Nehmen wir an, Sie arbeiten an einer Chat-Anwendung. Wenn Benutzer A etwas eintippt, sollte Benutzer B wissen, dass A tippt (ähnlich wie gtalk von facebook messenger). Wenn Sie zu diesem Zeitpunkt HTTP-Aufrufe verwenden, kann "B" aufgrund der Verzögerung nie den tatsächlichen Status einer anderen Person sehen. also was wir verwenden können, ist sockets, dass dann Benutzer A alles eingibt, dann sendet sein Gerät nur ein Datenpaket, das nur den Server benachrichtigt, dass er schreibt und an Benutzer B geliefert wird, dieser Prozess ist wirklich schnell (fast Echtzeit) . und wird auch die Datenübertragung reduzieren.


32
2017-09-03 08:41



Ich arbeite an Chat-Anwendung mit socket.io auch. So scheint es, alles mit socket.io zu ersetzen. Das macht mich in Zweifel und Neugier. Ich stimme völlig mit Echtzeit-App wie Chat-Anzüge für socket.io. Es gibt jedoch eine Round-Trip-Kommunikation (z. B. Benutzeranmeldung), die für HTTP besser geeignet ist.


1
2017-09-12 10:59



Socket.IO ist eine JavaScript-Bibliothek für Echtzeit-Webanwendungen. Es ermöglicht eine bidirektionale Echtzeitkommunikation zwischen Webclients und Server. Es besteht aus zwei Teilen: einer clientseitigen Bibliothek, die im Browser ausgeführt wird, und einer serverseitigen Bibliothek für node.js. Beide Komponenten haben eine nahezu identische API.


-3
2017-09-07 11:46