Peerjs: ¿Está caído el servidor?

Creado en 18 may. 2020  ·  25Comentarios  ·  Fuente: peers/peerjs

Hola,

Todo funcionó perfectamente, pero de repente, desde ayer, ya no funciona. Puedo conectarme pero no se reciben mensajes. (No toqué nada)
Qué sucedió ? Cómo arreglar esto ?

Gracias

Comentario más útil

@lnogueir
Estoy bastante seguro de que resolvería el problema, sí. Estoy ejecutando mi propio servidor peer-js durante aproximadamente un mes con cientos de llamadas cada día sin tales problemas.
Es relativamente fácil configurar el servidor usando https://github.com/peers/peerjs-server

EDITAR: dado que 0.peerjs.com es un servidor de señalización y no un servidor de aturdimiento/giro, probablemente sea un problema con el servidor de señalización público peerjs

Todos 25 comentarios

Recomendaría proporcionar la salida de la consola para obtener una descripción detallada del problema.
También tenga en cuenta que el PeerServer disponible públicamente podría alcanzar su conexión máxima en cualquier momento (me sucedió antes). Considere ejecutar un servidor de señalización usted mismo

No hay ningún mensaje en la consola.

Aquí está mi código fuente:
https://pastebin.com/xXSy8S3M

No pasa nada en absoluto.

¿Existe el par al que intenta conectarse?
Debe agregar el controlador de errores para verificar qué está fallando
Esto debería ajustarse a su código:

peer.on('error', function(err) {
    console.log("Error: ", err);
});

¿Existe el par al que intenta conectarse?
Debe agregar el controlador de errores para verificar qué está fallando
Esto debería ajustarse a su código:

peer.on('error', function(err) {
    console.log("Error: ", err);
});

Sí, existe la identificación de pares, y con el controlador de errores no obtengo nada.

En la documentación, acabo de leer "Clave API para la nube PeerServer. Esto no se usa para servidores que no sean 0.peerjs.com". en el documento, ¿es nuevo? Porque no uso uno.

Estoy muy confundido, todo funcionó bien.

Firefox a veces da un error:
Firefox no puede establecer una conexión con el servidor en la dirección wss://0.peerjs.com/peerjs?key=peerjs&id=123222589562487856955685485555&token=ocyxworx62i.

En la pestaña de red obtengo el código HTTP 101.

El servidor TURN público parece estar inactivo, pero STUN debería estar bien.
Intente especificar el puerto, SSL y algunos iceServer.

const Config = {
    secure: true,
    port: 443,
    iceServers: [
        { urls: 'stun:stun.l.google.com:19302'  }, 
        { urls: 'stun:stun1.l.google.com:19302' }, 
        { urls: 'stun:stun2.l.google.com:19302' }, 
    ]
};

var peer = new Peer(Config); 

El servidor TURN público parece estar inactivo, pero STUN debería estar bien.
Intente especificar el puerto, SSL y algunos iceServer.

const Config = {
    secure: true,
    port: 443,
    iceServers: [
        { urls: 'stun:stun.l.google.com:19302'  }, 
        { urls: 'stun:stun1.l.google.com:19302' }, 
        { urls: 'stun:stun2.l.google.com:19302' }, 
    ]
};

var peer = new Peer(Config); 

Gracias, lo intenté pero sigue igual.
Los eventos de "conexión", "abrir" y "error" no se disparan.

Es una pérdida de tiempo, me gustó esta biblioteca, pero buscaré una alternativa.

El servidor parece ser inestable y/o sobrecargado. Cuando intento conectarme al servidor 0.peerjs.com , a menudo obtengo

  • Un código de estado HTTP incorrecto
  • un tiempo de espera
  • Un mensaje en el Websocket diciéndome que se alcanzó el límite del servidor

El mensaje antes mencionado se ve así:

{
    "type":"ERROR",
    "payload":{"msg":"Server has reached its concurrent user limit"},
}

¿Considerarían los mantenedores del servidor actualizarlo? Estaría dispuesto a hacer una donación única o, si es necesario, una recurrente.

Tengo el mismo problema. Todo funcionaba perfectamente, ahora de repente no puedo conectarme a los servidores y sigo recibiendo:
peer.min.js:1 PUBLICACIÓN https://0.peerjs.com/peerjs/wun5gx7lj7000000/141ot3fd9cwf/id?i=1 red::ERR_TIMED_OUT
¿Es este un problema con los servidores peerjs o los servidores públicos STUN y TURN?

@lnogueir
Estoy bastante seguro de que resolvería el problema, sí. Estoy ejecutando mi propio servidor peer-js durante aproximadamente un mes con cientos de llamadas cada día sin tales problemas.
Es relativamente fácil configurar el servidor usando https://github.com/peers/peerjs-server

EDITAR: dado que 0.peerjs.com es un servidor de señalización y no un servidor de aturdimiento/giro, probablemente sea un problema con el servidor de señalización público peerjs

@lnogueir
Estoy bastante seguro de que resolvería el problema, sí. Estoy ejecutando mi propio servidor peer-js durante aproximadamente un mes con cientos de llamadas cada día sin tales problemas.
Es relativamente fácil configurar el servidor usando https://github.com/peers/peerjs-server

Intentaré configurarlo. ¡Gracias!

EDITAR:
@florrr
La configuración de mi propio servidor peerjs solucionó todos mis problemas de tiempo de espera y todo volvió a la normalidad.
Gracias otra véz.

¿Sería una buena idea proporcionar a la instancia peerjs no uno, sino
en su lugar, una lista de servidores y luego seleccione uno que no esté agotado? El
el Id de señalización también podría contener la URL del servidor de señalización. Pudimos
luego mantenga una lista de servidores disponibles globalmente.

El lunes 25 de mayo de 2020 a las 04:57 Lucas Nogueira, [email protected] escribió:

@Florrr https://github.com/Florrr
La configuración de mi propio servidor peerjs solucionó todos mis problemas de tiempo de espera y todo
ha vuelto a la normalidad.
Gracias otra véz.

-
Estás recibiendo esto porque comentaste.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/peers/peerjs/issues/671#issuecomment-633351840 , o
darse de baja
https://github.com/notifications/unsubscribe-auth/AALME5UNSH456EHDNAPZ7HDRTHNDHANCNFSM4NEJLYXA
.

¿Está el servidor inestable otra vez? Estoy trabajando en una aplicación que usa esta biblioteca y hace aproximadamente 16 horas funcionaba bien, ahora la conexión se agota.

¿Sería una buena idea proporcionar a la instancia de peerjs no uno, sino una lista de servidores y luego seleccionar uno que no esté agotado? El Id de señalización también podría contener la URL del servidor de señalización. Entonces podríamos mantener una lista de servidores disponibles globalmente.
...

Dudo que eso sea posible, ya que ambos pares necesitan conectarse al mismo servidor de señalización. Si elige el servidor de señalización (más o menos) al azar, no puede garantizar que se utilice el mismo servidor.

@HidalgoIvan No soy el mantenedor del servidor, por lo que no sé sobre el estado actual del servidor. Pero dado que el servidor de señalización parece ser inestable, recomendaría configurar uno propio. Como se mencionó antes, esto debería ser relativamente barato y fácil de hacer. (Además, puede modificar el servidor para agregar funcionalidades adicionales)

Siéntase libre de usar el mío, aunque no hay garantías con respecto al tiempo de actividad: https://peerjs.92k.de/

Gracias @Prior99 , pero como comencé a hacer mi propio servidor esta mañana, me gustaría terminar. Instalé peerjs usando docker. Y si abro el puerto 9000 en mi servidor, esto funciona, más o menos. El problema es que solo funciona con la dirección IP, que no es SSL, no con la dirección del sitio web, que sí lo es. ¿Cómo logró usar peerjs.92k.de como la dirección del servidor en lugar de la dirección IP?

Instrumenté un servidor Hetzner con ansible. Puede consultar la configuración aquí: https://gitlab.com/prior99/peerjs-server

La parte importante es usar un proxy inverso que maneje SSL por usted. Estoy usando caddy, ya que todo lo que necesito hacer son dos líneas de confirmación.

Hola @Prior99 , siento molestarte, pero estoy completamente perdido con todo lo que necesito aprender para ejecutar mi servidor...
Así que finalmente planeé usar el tuyo hasta que logre tener mi servidor adecuado. Desafortunadamente, tampoco puedo hacer que el tuyo funcione ... Estoy creando el par con:

var peer = new Peer({
    host: 'peerjs.92k.de',
    port: 443,
    debug: 3
});

Parece funcionar cuando obtengo una identificación, pero no puedo hacer que un compañero se conecte a otro. Y esto funcionaba perfectamente usando 0.peerjs.com, no toqué nada en mi código. ¿Estoy creando el par correctamente?

Parece funcionar cuando obtengo una identificación, pero no puedo hacer que un compañero se conecte a otro. Y esto funcionaba perfectamente usando 0.peerjs.com, no toqué nada en mi código. ¿Estoy creando el par correctamente?

Los pares se crean correctamente, pero aún necesita los servidores STUN y TURN. STUN no es un problema: hay muchos que puedes usar gratis. Pero definitivamente necesita un servidor TURN (posiblemente el suyo propio) para que los pares puedan conectarse cuando están detrás de un NAT simétrico.

:javascript var peer = new Peer({ host: 'peerjs.92k.de', port: 443, debug: 3, config: { iceServers: [ { urls: 'stun:stun.l.google.com:19302' }, { urls: 'stun:stun1.l.google.com:19302' }, ..., { urls: 'turn:your.own.host:3478', username: 'someuser', credential: 'somepass'}, ] }, });

Así que probé muchas combinaciones y todavía no funciona. Estoy detrás de un NAT normal.
Aquí está la configuración:

var peer = new Peer({
    host: 'peerjs.92k.de',
    port: 443,
    config: {'iceServers': [
            { url: 'stun:stun.l.google.com:19302' },
            { url: 'stun:stun1.l.google.com:19302' },
            { url: 'stun:stun2.l.google.com:19302' },
            { url: 'stun:stun3.l.google.com:19302' },
            { url: 'stun:stun4.l.google.com:19302' }
        ]
    },
    debug: 3
});

Y configuré el ejemplo básico con él. ¿Puedes probar a ver si te funciona?
https://www.txori.com/peerjs

Lo sentimos, lo reiniciaremos un poco más tarde.

Debe especificar secure: true , así:

new PeerJS(null, { host: "peerjs.92k.de", secure: true });

Publiqué varios juegos que parecen funcionar bien en muchos navegadores en diferentes plataformas y en diferentes configuraciones de red usando mi servidor.

Por ejemplo:
https://gitlab.com/prior99/frabble
https://prior99.gitlab.io/frabble/#/main-menu

Gracias @ Prior99 , pero incluso usando seguro: cierto, no puedo hacer que funcione. Después de dos días de intentarlo y repetirlo, parece que esto no proviene de su servidor. Desde entonces, probé con muchos otros y el resultado es siempre el mismo: logro obtener el código de pares, pero nada más. Lo extraño es que todo funciona perfectamente si utilizo la configuración básica para conectarme a 0.peerjs.com (cuando el servidor está activo...).
Realmente no entiendo lo que está pasando...

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