Peerjs: ERROR PeerServer: mensaje no reconocido

Creado en 4 sept. 2019  ·  4Comentarios  ·  Fuente: peers/peerjs

Recibo el error en el título en la consola de mi servidor. Por supuesto, lo intenté sin ejecutar mi propio servidor al principio, pero luego falló silenciosamente (es decir, pareció conectarse pero la conexión nunca se abrió). Todo esto se ejecuta en localhost.

Código del lado del cliente:

       var peer
       var conn
       if (window.location.pathname == '/client') {
         peer = new Peer('tactiks_guestb', {
           host: 'localhost',
           port: 8081,
           path: '/peerjs'
         })
         conn = peer.connect('tactiks_hostb')
         conn.on('open', () => {
           conn.send('hi!');
         });
         this.peer = peer
         this.conn = conn
         conn.on('error', console.log)
         peer.on('error', console.log)

       } else {
         peer = new Peer('tactiks_hostb', {
           host: 'localhost',
           port: 8081,
           path: '/peerjs'
         })
         this.peer = peer
         peer.on('error', console.log)
         peer.on('connection', (conn) => {
           conn.on('error', console.log)
           this.conn = conn
           conn.on('data', (data) => {
             console.log(data)
           })

         })
       }

Código del lado del servidor:

var express = require('express')
var app = express()

srv = app.listen(8081)
var ExpressPeerServer = require('peer').ExpressPeerServer;
var ps = ExpressPeerServer(srv, {
      debug: true
})

app.use('/peerjs', ps)
ps.on('connection', (id) => {
    console.log(id)
    console.log(srv._clients)
})
missing info

Comentario más útil

["LEAVE", "CANDIDATE", "OFFER", "ANSWER"] en esta matriz agregue el nombre del mensaje que falta ... en el caso de Peerjs, HEARTBEAT no está allí.

Entonces, después de agregar HEARTBEAT como ["LEAVE", "CANDIDATE", "OFFER", "RESWER", "HEARTBEAT"] resolvió mi problema.

Todos 4 comentarios

@kahrkunne ¿Qué versión usas en cliente / servidor?

Recibo este mismo error en el servidor. Estoy usando Peer Server versión 0.2.10 y Peerjs versión 1.1.0 en el cliente. El servidor se está ejecutando en Electron y el cliente se está ejecutando en el navegador (probando tanto Chrome 77.0.3865.120 como Firefox 69.0.3).

El error ocurre cuando el cliente llama a peer.connect (peerID); para conectarse con el servidor.

El error proviene de peer \ lib \ util.js: 27, que se remonta a la línea 91 de peer \ lib \ server.js

La instrucción if siempre se resuelve en else y muestra util.prettyError, incluso en los casos en que el mensaje es un CANDIDATO o una OFERTA.

  socket.on("message", function(data) {
    try {
      var message = JSON.parse(data);

      if (
        ["LEAVE", "CANDIDATE", "OFFER", "ANSWER"].indexOf(message.type) !== -1
      ) {
        self._handleTransmission(key, {
          type: message.type,
          src: id,
          dst: message.dst,
          payload: message.payload
        });
      } else {
        util.prettyError("Message unrecognized");
      }
    } catch (e) {
      self._log("Invalid message", data);
      throw e;
    }
  });
        util.prettyError("Message unrecognized");
      }
    } catch (e) {
      self._log("Invalid message", data);
      throw e;
    }

ACTUALIZACIÓN: Actualicé todas mis dependencias y ejecuté esto nuevamente. Sigo recibiendo el error, pero parece que ahora solo ocurre en HEARTBEAT. CANDIDATO y OFERTA funcionan como se esperaba.

["LEAVE", "CANDIDATE", "OFFER", "ANSWER"] en esta matriz agregue el nombre del mensaje que falta ... en el caso de Peerjs, HEARTBEAT no está allí.

Entonces, después de agregar HEARTBEAT como ["LEAVE", "CANDIDATE", "OFFER", "RESWER", "HEARTBEAT"] resolvió mi problema.

¿Se solucionará este problema pronto?

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