Use Socket.io para criar um servidor Socket.io. No entanto, o servidor depende de um servidor HTTP já criado.
Depois que o servidor HTTP estiver em execução, use o método de escuta para anexar um servidor Socket.io ao servidor HTTP.
A cópia do código é a seguinte:
var sio = requer ("scoket.io");
var soket = sio.listen (servidor);
Socket é um servidor Socket.io criado no servidor.
Quando o cliente estabelece uma conexão com o servidor, o evento de conexão do serviço Socket.io é acionado.
A cópia do código é a seguinte:
Socket.on ("conexão", função (soquete) {
});
O parâmetro de soquete na função de retorno de chamada é um objeto de porta de soquete que estabelece uma conexão entre o servidor e o cliente.
Quando uma mensagem enviada pelo cliente é recebida, um evento de mensagem do objeto de porta de soquete é emitido.
A cópia do código é a seguinte:
Socket.on ("mensagem", função (msg) {
});
Os parâmetros da função de retorno de chamada são mensagens enviadas pelo cliente.
Você pode usar o soquete.send (msg) para enviar uma mensagem ao cliente.
O evento de desconexão é acionado quando a conexão do lado do cliente é desconectada.
A cópia do código é a seguinte:
Socket.on ("Desconect", funciton () {
});
Esta função de retorno de chamada não aplica nenhum parâmetros.
Código do servidor servidor.js:
A cópia do código é a seguinte:
var http = requer ("http");
var sio = requer ("soket.io");
var fs = requer ("fs");
var server = http.createServer (function (req, res) {
Res.writehead (200, {"content-type": "text/html"});
res. end (fs.readfilesync ("./ index.html"));
});
Server.Listen (1337);
var soket = sio.listen (servidor);
Socket.on ("conexão", função (soquete) {
console.log ("estabelecimento de conexão do cliente");
Socket.send ("Hello");
Socket.on ("mensagem", função (msg) {
console.log ("Recebeu uma mensagem:"+msg);
});
Socket.on ("Desconect", function () {
console.log ("Client Desconect.");
});
});
Crie o 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 ("mensagem", função (dados) {
console.log (dados);
Socket.send ("Mensagem aceita.")
});
Socket.on ("Desconect", function () {
console.log ("desconexão do lado do servidor");
});
</script>
</head>
<Body>
</body>
</html>
Este código: /socket.io/socket.io.js é fornecido com a biblioteca de classe Socket.io do lado do servidor e não há necessidade de colocar um arquivo soket.io.js no cliente.
No arquivo de script, primeiro use o método io.connect () para conectar -se ao servidor servidor.io.
Este método retorna um objeto de porta de soquete do cliente que estabelece uma conexão com o servidor.
Quando uma mensagem é recebida do servidor, o evento de mensagem do objeto de porta de soquete do cliente é acionado.
A cópia do código é a seguinte:
Socket.on ("mensagem", função (msg) {
});
msg são dados enviados pelo servidor;
Você também pode usar o método send () do objeto de soquete do cliente para enviar dados para o servidor.
A cópia do código é a seguinte:
Socket.send (msg);
Quando o servidor se desconecta, o evento de desconexão do objeto de porta de soquete do cliente é acionado.
A cópia do código é a seguinte:
Socket.on ("Desconect", function () {
})
Esta função de retorno de chamada não usa nenhum parâmetros.
Perceber:
O mecanismo de mensagem do cliente é exatamente o mesmo que o mecanismo de processamento de mensagens do lado do servidor. Porque o Socket.io garante que o cliente e o servidor compartilhem a mesma API.
Resultados após a execução:
Quando o navegador está fechado, a conexão com o servidor é desconectada. No momento, o servidor aciona o evento de desconexão e o cliente desconecta.