3.7 KiB
3.7 KiB
id | title | localeTitle | challengeType |
---|---|---|---|
589fc830f9fc0f352b528e74 | Set up the Environment | Configurar el medio ambiente | 2 |
Description
const io = require('socket.io')(http);
Lo primero que debe manejarse es escuchar una nueva conexión del cliente. La palabra clave on hace exactamente eso: escucha un evento específico. Requiere 2 argumentos: una cadena que contiene el título del evento emitido y una función con la que se pasan los datos. En el caso de nuestro oyente de conexión, usamos socket para definir los datos en el segundo argumento. Un socket es un cliente individual que está conectado.
Para escuchar las conexiones en nuestro servidor, agregue lo siguiente entre los comentarios en su proyecto: io.on ('conexión', socket => { console.log ('Un usuario se ha conectado'); });Ahora, para que el cliente se conecte, solo necesita agregar lo siguiente a su client.js que se carga en la página después de que se haya autenticado:
/ * io global * / var socket = io ();El comentario suprime el error que normalmente vería, ya que 'io' no está definido en el archivo. Ya hemos agregado un CDN confiable a la biblioteca Socket.IO en la página en chat.pug. Ahora intente cargar su aplicación y autenticarla y debería ver en la consola de su servidor 'Un usuario se ha conectado'! Nota
io()
funciona solo cuando se conecta a un socket alojado en la misma url / servidor. Para conectarse a un socket externo alojado en otro lugar, usaría io.connect('URL');
.
Envía tu página cuando creas que lo has hecho bien.
Instructions
Tests
tests:
- text: Socket.IO es una dependencia
testString: 'getUserInput => $.get(getUserInput("url")+ "/_api/package.json") .then(data => { var packJson = JSON.parse(data); assert.property(packJson.dependencies, "socket.io", "Your project should list "socket.io" as a dependency"); }, xhr => { throw new Error(xhr.statusText); })'
- text: Socket.IO ha sido correctamente requerido e instanciado
testString: 'getUserInput => $.get(getUserInput("url")+ "/_api/server.js").then(data => {assert.match(data, /io.*=.*require.*("|")socket.io("|").*http/gi, "You should correctly require and instantiate socket.io as io.");}, xhr => { throw new Error(xhr.statusText); })'
- text: Socket.IO debería estar escuchando las conexiones
testString: 'getUserInput => $.get(getUserInput("url")+ "/_api/server.js") .then(data => { assert.match(data, /io.on.*("|")connection("|").*socket/gi, "io should listen for "connection" and socket should be the 2nd arguments variable"); }, xhr => { throw new Error(xhr.statusText); })'
- text: Tu cliente debe conectarse a tu servidor
testString: 'getUserInput => $.get(getUserInput("url")+ "/public/client.js") .then(data => { assert.match(data, /socket.*=.*io/gi, "Your client should be connection to server with the connection defined as socket"); }, xhr => { throw new Error(xhr.statusText); })'
Challenge Seed
Solution
// solution required