Après que plusieurs clients établissent des connexions avec le serveur, le serveur socket.io () a un attribut Sockets et la valeur d'attribut est tous les objets Socket qui établissent des connexions avec le client. Vous pouvez utiliser la méthode d'envoi ou émettre la méthode de l'objet pour diffuser des messages à tous les clients.
IO.SOCKETS.SEND ("User edited);
io.socket.emit ("connexion", noms);
Cas
Code server.js:
La copie de code est la suivante:
var express = require ("express");
var http = require ("http");
var sio = require ("socket.io");
var app = express ();
var server = http.createServer (app);
app.get ("/", fonction (req, res) {
res.sendFile (__ dirname + "/ index.html");
});
server.Listen (1337, "127.0.0.1", fonction () {
console.log ("commencer à écouter 1337");
});
var io = Sio.Listen (serveur);
var noms = [];
io.sockets.on ("connexion", fonction (socket) {
socket.emit ("connexion", noms);
socket.on ("login", fonction (nom) {
noms.push (nom);
io.sockets.emit ("connexion", noms);
});
});
La copie de code est la suivante:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<Title> </Title>
<script src = "/ socket.io/socket.io.js"> </ script>
<cript>
var socket = io.connect ();
socket.on ("connexion", fonction (noms) {
var str = "";
noms.ForEach (fonction (name) {
str + = "utilisateur" + nom + "connexion. <br/>";
});
document.getElementById ("Result"). InnerHtml = Str;
});
fonction add () {
Socket.Emit ("Login", document.getElementById ("surnom"). Valeur);
}
</cript>
</ head>
<body>
Surnom <input type = "text" id = "nauel" />
<div id = "result"> </div>
<input type = "bouton" onclick = "add ()" value = "login" />
</docy>
</html>
Résultats en cours:
Connectez-vous à Google Chrome et vous pouvez voir les mêmes résultats dans Firefox.
Il s'agit d'un merveilleux phénomène et d'un effet qui m'a beaucoup surpris.
Un si merveilleux nœud.