Código do servidor servidor.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);
var fs = requer ("fs");
App.get ("/", function (req, res) {
Res.sendFile (__ Dirname+"/index.html");
});
Server.Listen (1337);
var soket = sio.listen (servidor);
Socket.on ("conexão", função (soquete) {
Socket.emit ("News", {hello: "Hello"});
Socket.on ("Otherevent", função (dados) {
console.log ("O servidor aceita dados:%j", dados);
})
});
Código do cliente index.html
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 ("News", function (dados) {
console.log (data.hello);
Socket.emit ("Otherevent", {my: "Data"});
});
</script>
</head>
<Body>
</body>
</html>
De repente, pensei em uma pergunta: posso escrever o código de notícias de escuta para o mesmo fim que emit?
então:
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 soket = sio.listen (servidor);
Socket.on ("conexão", função (soquete) {
Socket.on ("News", function (dados) {
console.log (data.hello);
});
Socket.emit ("News", {hello: "Hello"});
});
Observe as 15 ~ 17 linhas de código: foi recém -adicionado por nós.
Acontece que não é possível e não haverá impressão. No entanto, não haverá erros.
A execução do emit é chamada de "Enviar Evento". Se houver parâmetros, o nome será chamado de "parâmetros de transporte".
PostScript:
Também encontrei muitos métodos de chamada de sessão na estrutura expressa on -line, mas descobri que muitos deles não podem ser usados. Este artigo é um método específico de usar sessão no Express e Socket.io, com base no processo de produção do meu próprio projeto.