Suche…


Bemerkungen

Socket.IO ist eine Javascript-Bibliothek für realtime Webanwendungen. Es ermöglicht eine bidirektionale Echtzeitkommunikation zwischen Webclients und Servern. Es besteht aus zwei Teilen: einer clientseitigen Bibliothek, die im Browser ausgeführt wird, und einer serverseitigen Bibliothek für node.js Beide Komponenten verfügen über eine nahezu identische API. Wie node.js ist es ereignisgesteuert.

Socket.IO hauptsächlich das websocket Protokoll mit Abfrage als Fallback-Option, wobei dieselbe Schnittstelle bereitgestellt wird. Obwohl es einfach als Wrapper für webSocket , bietet es viele weitere Funktionen, einschließlich Broadcasting an mehrere Sockets, Speichern der mit jedem Client verbundenen Daten und asynchrone E / A.

Versionen

Ausführung Veröffentlichungsdatum
1.4.8 2016-06-23
1.4.7 2016-06-23
1.4.6 2016-05-02
1.4.5 2016-01-26
1.4.4 2016-01-10
1.4.3 2016-01-08
1.4.2 2016-01-07
1.4.1 2016-01-07
1.4.0 2015-11-28
1.3.7 2015-09-21
1.3.6 2015-07-14
1.3.5 2015-03-03
1.3.4 2015-02-14
1.3.3 2015-02-03
1.3.2 2015-01-19
1.3.1 2015-01-19
1.3.0 2015-01-19
1.2.1 2014-11-21
1.2.0 2014-10-27
1.1.0 2014-09-04
1.0.6 2014-06-19
1,0,5 2014-06-16
1.0.4 2014-06-02
1.0.3 2014-05-31
1.0.2 2014-05-28
1.0.1 2014-05-28
1.0.0 2014-05-28

Installation oder Setup

Zuerst installieren socket.io Modul in node.js Anwendung.

npm install socket.io --save

Grundlegendes HTTP-Setup

Im folgenden Beispiel wird socket.io an einen einfachen node.js HTTP-Server socket.io , der an Port 3000 socket.io .

var server = require('http').createServer();

var io = require('socket.io')(server);

io.on('connection', function(socket){

  console.log('user connected with socketId '+socket.id);

  socket.on('event', function(data){
      console.log('event fired');
  });

  socket.on('disconnect', function(){
      console.log('user disconnected');
  });

});

server.listen(3000);

Setup mit Express

Die Express-App kann an den http Server übergeben werden, der an socket.io angehängt socket.io .

var app = require('express')();                   //express app
var server = require('http').createServer(app);   //passed to http server
var io = require('socket.io')(server);            //http server passed to socket.io

io.on('connection', function(){

  console.log('user connected with socketId '+socket.id);

  socket.on('event', function(data){
      console.log('event fired');
  });

  socket.on('disconnect', function(){
      console.log('user disconnected');
  });

});

server.listen(3000);

Client Side Setup

Überprüfen Sie das Hello World-Beispiel oben für die clientseitige Implementierung.

"Hallo Welt!" mit Socketnachrichten.

Installieren Sie Knotenmodule

npm install express
npm install socket.io

Node.js Server

const express = require('express'); 
const app = express();
const server = app.listen(3000,console.log("Socket.io Hello Wolrd server started!"));
const io = require('socket.io')(server);

io.on('connection', (socket) => {
    //console.log("Client connected!");
    socket.on('message-from-client-to-server', (msg) => {
        console.log(msg);
    })
    socket.emit('message-from-server-to-client', 'Hello World!');
});

Browser-Client

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Hello World with Socket.io</title>
  </head>
  <body>
    <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
    <script>
      var socket = io("http://localhost:3000");
      socket.on("message-from-server-to-client", function(msg) {
          document.getElementById('message').innerHTML = msg;
      });
      socket.emit('message-from-client-to-server', 'Hello World!');
    </script>
    <p>Socker.io Hello World client started!</p>
    <p id="message"></p>
  </body>
</html>

Im obigen Beispiel ist der Pfad zur socket.io-Bibliothek als /socket.io/socket.io.js definiert.

Obwohl wir keinen Code geschrieben haben, um die Bibliothek socket.io zu bedienen, tut dies Socket.io automatisch.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow