socket.io Tutorial
Erste Schritte mit socket.io
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.