Depois que vários clientes estabelecem conexões com o servidor, o servidor Socket.io () possui um atributo de soquetes e o valor do atributo é todos os objetos de soquete que estabelecem conexões com o cliente. Você pode usar o método de envio ou o método emitido do objeto para transmitir mensagens para todos os clientes.
io.sockets.send ("editado pelo usuário);
io.socket.emit ("Login", nomes);
Caso
Código Server.js:
A cópia do código é a seguinte:
var express = requer ("expresso");
var http = requer ("http");
var sio = requer ("soket.io");
var app = express ();
var server = http.createServer (app);
App.get ("/", function (req, res) {
Res.sendFile (__ Dirname+"/index.html");
});
Server.Listen (1337, "127.0.0.1", function () {
console.log ("Comece a ouvir 1337");
});
var io = sio.listen (servidor);
var nomes = [];
io.sockets.on ("conexão", função (soquete) {
soket.emit ("login", nomes);
Socket.on ("Login", function (nome) {
nomes.push (nome);
io.sockets.emit ("login", nomes);
});
});
A cópia do código é a seguinte:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<Title> </title>
<script src = "/socket.io/socket.io.js"> </script>
<Cript>
var soket = io.connect ();
Socket.on ("Login", function (nomes) {
var str = "";
names.foreach (function (nome) {
str+= "usuário"+nome+"login. <br/>";
});
Document.getElementById ("Result"). Innerhtml = str;
});
função add () {
Socket.emit ("login", document.getElementById ("apelido"). Valor);
}
</script>
</head>
<Body>
Apelido <input type = "text" id = "apelido" />
<div id = "resultado"> </div>
<input type = "button" onclick = "add ()" value = "login" />
</body>
</html>
Resultados em execução:
Faça login no Google Chrome e você pode ver os mesmos resultados no Firefox.
Este é um fenômeno maravilhoso e um efeito que me surpreendeu muito.
Um nó tão maravilhoso.