Use Socket.io para crear un servidor Socket.io. Sin embargo, el servidor depende de un servidor HTTP ya creado.
Una vez que se ejecuta el servidor HTTP, use el método de escuchar para adjuntar un servidor Socket.io al servidor HTTP.
La copia del código es la siguiente:
var sio = request ("scoket.io");
var socket = sio.listen (servidor);
Socket es un servidor Socket.io creado en el servidor.
Cuando el cliente establece una conexión con el servidor, se activa el evento de conexión del servicio Socket.io.
La copia del código es la siguiente:
socket.on ("conexión", función (socket) {
});
El parámetro de socket en la función de devolución de llamada es un objeto de puerto de socket que establece una conexión entre el servidor y el cliente.
Cuando se recibe un mensaje enviado por el cliente, se emite un evento de mensaje del objeto de puerto de socket.
La copia del código es la siguiente:
Socket.on ("Mensaje", function (msg) {
});
Los parámetros de la función de devolución de llamada son mensajes enviados por el cliente.
Puede usar Socket.send (MSG) para enviar un mensaje al cliente.
El evento de desconexión se activa cuando se desconecta la conexión del lado del cliente del lado del servidor.
La copia del código es la siguiente:
Socket.on ("Desconnect", Funciton () {
});
Esta función de devolución de llamada no aplica ningún parámetro.
Código del servidor del lado del servidor.js:
La copia del código es la siguiente:
var http = require ("http");
var sio = require ("Socket.io");
var fs = require ("fs");
var server = http.createServer (function (req, res) {
res.Writehead (200, {"Content-type": "text/html"});
res.end (fs.ReadFilesync ("./ index.html"));
});
servidor.listen (1337);
var socket = sio.listen (servidor);
socket.on ("conexión", función (socket) {
console.log ("Establecimiento de conexión del cliente");
socket.send ("hola");
Socket.on ("Mensaje", function (msg) {
console.log ("recibió un mensaje:"+msg);
});
socket.on ("desconectar", function () {
console.log ("Desconectación del cliente");
});
});
Crear Código de índice de cliente.html:
La copia del código es la siguiente:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> </title>
<script src = "/Socket.io/socket.io.js"> </script>
<script>
var enchock = io.connect ();
Socket.on ("Mensaje", function (Data) {
console.log (datos);
Socket.send ("Mensaje aceptado")
});
socket.on ("desconectar", function () {
console.log ("Desconectación del lado del servidor");
});
</script>
</ablo>
<Body>
</body>
</html>
Este código: /socket.io/socket.io.js se proporciona con la biblioteca de clases Socket.io del lado del servidor, y no es necesario colocar un archivo Socket.io.js en el cliente.
En el archivo de script, primero use el método io.connect () para conectarse al servidor Socket.io del servidor.
Este método devuelve un objeto de puerto de socket de cliente que establece una conexión con el servidor.
Cuando se recibe un mensaje del servidor, se activa el evento de mensaje del objeto de puerto de socket Client.
La copia del código es la siguiente:
Socket.on ("Mensaje", function (msg) {
});
MSG son datos enviados por el servidor;
También puede usar el método Send () del objeto Socket Client para enviar datos al servidor.
La copia del código es la siguiente:
Socket.send (MSG);
Cuando el servidor se desconecta, se activa el evento de desconexión del objeto de puerto de socket del cliente.
La copia del código es la siguiente:
socket.on ("desconectar", function () {
})
Esta función de devolución de llamada no usa ningún parámetro.
Aviso:
El mecanismo de mensajes del cliente es exactamente el mismo que el mecanismo de procesamiento de mensajes del lado del servidor. Porque Socket.io asegura que el cliente y el servidor compartan la misma API.
Resultados después de ejecutar:
Cuando el navegador está cerrado, la conexión al servidor está desconectada. En este momento, el servidor activa el evento de desconexión y el cliente se desconecta.