IIC3103-2024-01 / help

Resolución de Dudas Clases, Tareas y Proyecto
6 stars 0 forks source link

Duda con evento JOIN y conexión al servidor #30

Open lucasilabaca opened 2 months ago

lucasilabaca commented 2 months ago

Hola! Estaba intentando conectarme al servidor a través del evento JOIN, pero el servidor me devuelve un error a pesar de enviar lo mismo que indica el enunciado. ¿Ya está operativo el servidor? Esto me devuelve:

{"type":"denied","trivia_id":"k-FYtNoxK9SGdA","reason":"you sent an unexpected or invalid payload"} {"type":"disconnected","trivia_id":"k-FYtNoxK9SGdA","message":"You have been disconnected from the Server. PLease follow the rules"}

Además, no entiendo qué es "trivia_id".

El payload enviado es el siguiente (el enviado realmente contiene los datos de mi número de alumno y de username, ambos como strings):

   {
      type: 'join',
      id: 'mi_numero_de_alumno',
      username: 'mi_username'
    }

Muchas gracias!

drosselot commented 2 months ago

X2

dedarritchon commented 2 months ago

Hola @lucasilabaca ,

No he actualizado la base de usuarios del servidor, por ahora se puede avanzar con la ifnormación de los servicios que ya está arriba.

De todas formas voy a actualizar la base de usuarios para que puedan conectarse al websocket dede ya.

Saluldos

dedarritchon commented 2 months ago

Estimados,

ya se encuentra totalmente funcional tanto los servicios como el websocket. Algunso eventos todavía no se implementan, pero quedarán funcionando durante la semana.

image

Saludos

drosselot commented 2 months ago

Sigo sin poder conectarme, no se si es por problema mío o del servidor, pero intenté por postman y por js. ¿Podrían poner unas credenciales de ejemplo que funcionen para comparar si es problema del número de alumno?

lucasilabaca commented 2 months ago

Estoy igual, aún no me permite conectarme. Sigue diciendo que el payload es inválido:

{"type":"denied","server_id":"nYswLA-ZoWJYgA","reason":"you sent an unexpected or invalid payload"}

dedarritchon commented 2 months ago

Hola @drosselot , @lucasilabaca ,

Pueden probar con esto para consumir los servicios:

async function getMetroStations () {
    response = await fetch('https://tarea-2.2024-1.tallerdeintegracion.cl/api/metro/stations')
    return response.json()
}

y esto para conectarse al websocket:

let url = "wss://tarea-2.2024-1.tallerdeintegracion.cl/connect"
const websocket = new WebSocket(url);
payload = {
    "type": "JOIN",
    "payload": {
        "id": "<número de alumno>",
        "username": "<nombre de usuario>"
    }
}
console.log(`Connecting to: ${url}. Sending: ${payload}`)
websocket.onopen = () => websocket.send(JSON.stringify(payload));
websocket.addEventListener("message", ({ data }) => {
    const event = JSON.parse(data);
    console.log(`Got <b>${event.type}</b> event:<br><br>${JSON.stringify(event)}`)
});

Me comentan si les funcionan esos ejemplos,

Saludos

lucasilabaca commented 2 months ago

Ahora sí me funcionó, muchas gracias!

drosselot commented 2 months ago

Ahí sí. El enunciado tiene esta información:

image image

No sé si se me pasó algo, pero no entendí que ese era el formato

dedarritchon commented 2 months ago

@drosselot

Toda la razón, está mal el enunciado, lo corregimos inmediatamente,

Saludos