Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

405
Visualizações
Trama de WebSocket no válida: MASK debe estar claro

Estoy usando el paquete ws para conectarme al socket web poloniex, usando el siguiente código:

 const WS = require('ws'); const ws = new WS('wss://api2.poloniex.com'); ws.on('open', () => { ws.send(JSON.stringify({ command: 'subscribe', channel: 'USDT_BTC' })); }); ws.on('message', (msg) => { console.log(JSON.parse(msg)); ws.close(1000); }); ws.on('close', (code) => { console.log(`closing with code ${code}`); }); ws.on('error', (error) => { console.error(error); });

Sin embargo, obtengo el siguiente resultado:

 RangeError: Invalid WebSocket frame: MASK must be clear at Receiver.getInfo (/home/clecio/Programming/test-poloniex/node_modules/ws/lib/receiver.js:299:14) at Receiver.startLoop (/home/clecio/Programming/test-poloniex/node_modules/ws/lib/receiver.js:136:22) at Receiver._write (/home/clecio/Programming/test-poloniex/node_modules/ws/lib/receiver.js:83:10) at writeOrBuffer (internal/streams/writable.js:358:12) at Receiver.Writable.write (internal/streams/writable.js:303:10) at TLSSocket.socketOnData (/home/clecio/Programming/test-poloniex/node_modules/ws/lib/websocket.js:1116:35) at TLSSocket.emit (events.js:400:28) at addChunk (internal/streams/readable.js:293:12) at readableAddChunk (internal/streams/readable.js:267:9) at TLSSocket.Readable.push (internal/streams/readable.js:206:10) { code: 'WS_ERR_UNEXPECTED_MASK', [Symbol(status-code)]: 1002 } closing with code 1006

¿Alguien sabe qué significa este error? Probé un código similar con servidores similares y no obtengo ningún error. Además, si no envío ningún código a la función ws.close() , no recibo ningún error. ¿Alguien sabe por qué sucede esto? Qué

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Acabo de aprender esto tratando de hacer mi propia implementación de WebSocket en C#. Lo que el error significa con "MASK must be clear" es que no se espera que los datos estén enmascarados; lo que significa omitir la clave XOR y no codificar la carga útil.

Ejemplo de byte de un cuadro que envía "hola" codificado:

 Mask bit set and 7-bit payload length vv {81, 82, 97, 34, 89, 6A, FF, 5D} ^^^^^^^^^^^^^^ ^^^^^^ Mask Key Encoded Payload

Ejemplo de byte de un cuadro que envía "hola" sin codificar:
Tenga en cuenta que no hay clave de máscara.

 Mask bit not set and 7-bit payload length v {81, 2, 68, 69} ^^^^^^ Raw Payload

Dado que parece estar trabajando con una biblioteca WebSocket en JS, vería si hay un parámetro que deba configurar que esté codificando lo que está haciendo su ws.send() .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda