Peerjs: Ejemplo de LÉAME roto en 0.3.2

Creado en 19 mar. 2020  ·  13Comentarios  ·  Fuente: peers/peerjs

Recientemente actualicé PeerJS de 0.2.10 a 0.3.2 y noté que rompió mi proyecto. Comparé mi implementación con el ejemplo para ver qué podría haber cambiado. Al hacerlo, me di cuenta de que el ejemplo proporcionado en el archivo README no parece funcionar realmente.

Aquí hay una versión del ejemplo del README con la versión 0.2.10:
https://glitch.com/~unruly-chinchilla

Funciona como se esperaba. La identificación única se muestra en la página y se registra en la consola

Aquí está exactamente el mismo proyecto con la única diferencia de que cambié la versión de PeerJS a 0.3.2:
https://glitch.com/~abyssinian-piper

Da un error 404 en la consola al intentar acceder a este punto final:
https://abyssinian-piper.glitch.me/peerjs/peerjs/id

Para ambos ejemplos usamos la versión más actualizada de la biblioteca cliente (0.3.2).

¿Puedes ayudarme a descubrir por qué no funciona?

Déjeme saber si usted necesita más información. ¡Gracias!

bug

Comentario más útil

Gracias @afrokick. Puede ver la configuración (y el resto del código) para el ejemplo de trabajo aquí:
https://glitch.com/edit/#!/unruly -chinchilla? path = server.js: 2: 0

Puede ver la configuración (y el resto del código) para el ejemplo que no funciona aquí:
https://glitch.com/edit/#!/abyssinian -piper? path = server.js: 1: 0

¿Eso te muestra lo que estás buscando?

Todos 13 comentarios

Quizás útil y relacionado: envié una solicitud de extracción para corregir un error tipográfico en el archivo README y vi que Travis no estaba contento con eso:
https://travis-ci.org/github/peers/peerjs-server/builds/664198688

¿Podría proporcionar su configuración para el servidor?

Gracias @afrokick. Puede ver la configuración (y el resto del código) para el ejemplo de trabajo aquí:
https://glitch.com/edit/#!/unruly -chinchilla? path = server.js: 2: 0

Puede ver la configuración (y el resto del código) para el ejemplo que no funciona aquí:
https://glitch.com/edit/#!/abyssinian -piper? path = server.js: 1: 0

¿Eso te muestra lo que estás buscando?

@georgemandis gracias! Hubo un problema con la ruta en la versión anterior.

Entonces, en la nueva versión, su ruta de identificación debe ser https://abyssinian-piper.glitch.me/peerjs/peerjs/peerjs/id (peerjs adicionales :))

¡Arreglemoslo!

const express = require('express');
const app = express();
const { ExpressPeerServer } = require('peer');

//app.get('/', (req, res, next) => { res.send('Hello world!'); });

// =======

const server = app.listen(process.env.PORT);

const options = {
    debug: true,
    path: '/xyz'
}

const peerserver = ExpressPeerServer(server, options);

app.use('/', peerserver);

app.use("/", express.static("public"));

El resultado será http://domain.name/xyz - es una ruta.
Si usamos secret como clave, la URL final debe ser http://domain.name/xyz/secret/id para el método id API.

Es un código final:

const express = require('express');
const app = express();
const { ExpressPeerServer } = require('peer');

//app.get('/', (req, res, next) => { res.send('Hello world!'); });

// =======

const server = app.listen(process.env.PORT);

const options = {
    debug: true,
    path: '/peerjs' // <-- changed
}

const peerserver = ExpressPeerServer(server, options);

app.use('/', peerserver); // <-- changed

app.use("/", express.static("public"));

Gracias @afrokick por su rápida respuesta. Sin embargo, sigo viendo errores en mi ejemplo.

Puede ver un error 404 de diferencia en la consola aquí:
https://abyssinian-piper.glitch.me/

Dice que no puede encontrar esta URL:
https://abyssinian-piper.glitch.me/peerjs/id

Tengo la opción path establecida en "/" tanto en el cliente como en el servidor. Estoy montando el peerServer en /peerjs . Creo que así es como está configurado tu ejemplo, pero corrígeme si me equivoco.

Aquí está el código de mi servidor:
https://glitch.com/edit/#!/abyssinian -piper? path = server.js: 1: 0

Y aquí está el código de mi cliente:
https://glitch.com/edit/#!/abyssinian -piper? path = public / index. html: 8 : 8

¡También me doy cuenta de que publiqué este problema en el repositorio incorrecto! Lo siento por eso. Estaba siguiendo el ejemplo del README por peerjs-server aquí: https://github.com/peers/peerjs-server

El ejemplo de esa página es el que seguí y podría ser incorrecto. El código relevante para el servidor de ese ejemplo se ve así:

const peerServer = ExpressPeerServer(server, {
  debug: true,
  path: '/myapp'
});

app.use('/peerjs', peerServer);

Y el código del lado del cliente se ve así:

const peerServer = PeerServer({
  port: 9000,
  path: '/myapp',
  generateClientId: customGenerationFunction
});

Esto todavía me da el error 404 incluso después de cambiar la ruta a "/" como me mostró aquí.

¿Tiene sentido?

¡Su código de cliente es incorrecto! @georgemandis

const peer = new Peer({
        host: location.hostname,
        port: location.port,
        path: "/peerjs" // <- change to this value
      });

@georgemandis Lo siento, encontré un problema. Hice la prueba para PeerServer pero no para ExpressPeerServer. Intentaré arreglarlo.

Ahora puede solucionarlo cambiando la ruta en app.use('/', peerserver); // <-- changed

Problema del lado del servidor, se solucionará en 0.5.1

Fijo. Mi ejemplo funciona en 0.5.1 https://prairie-six-ray.glitch.me

@georgemandis ¡ gracias por la ayuda!

¡Gracias por su pronta atención a todo esto @afrokick ! Gran fan de su proyecto y feliz de verlo haciendo mejoras. :-RE

Pregunta adicional: ¿hay ejemplos en los documentos de la API (https://peerjs.com/docs.html#api) disponibles en un repositorio en algún lugar? Si es así, ¿estaría dispuesto a realizar algunas ediciones y / o quizás modernizar algunos de los ejemplos para usar await/async y tal vez otras características más compatibles con ES6 +?

@georgemandis desafortunadamente no, pero tengo un repositorio con chat p2p sin reaccionar https://github.com/afrokick/peerjs-examples

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

afrokick picture afrokick  ·  5Comentarios

kahrkunne picture kahrkunne  ·  4Comentarios

senihtosun picture senihtosun  ·  5Comentarios

geraldsamosir picture geraldsamosir  ·  6Comentarios

nhducseuit picture nhducseuit  ·  5Comentarios