Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

236
Vistas
sending websocket message greater than 64kB causes Ratchet websocket server to throw 'Underflow exception'

i have a websocket server written in php using ratchet websocket, and the clients are written in javascript creating websocket connection to connect to the php websocket server.

Client and server are communicating via json string, i found that when the json message size is greater than 64kB, the ratchet server would throw an 'underflow exception'

'UnderflowException' with message 'Frame must be coalesced before applying mask'

php server code

use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Socket;

$server = IoServer::factory(
    new HttpServer(
        new WsServer(
            new Socket()
        )
    ),
    8080
);

$server->run();

javascript client

var socket  = new WebSocket('ws://123.123.123.123:8080');

let reader = new FileReader();
reader.onload = function() 
{
    sendPackageImageFile(reader.result);
};

reader.onerror = function() 
{
    console.log('reader.error');
};  

reader.readAsDataURL('some-file');


function sendPackageImageFile(imageFileData)
{
    var message = {};
    message.sender = 'someUser';
    message.action = 'send-package-image';
    message.packer = 'packer';
    message.data = 'some data';
    message.file = imageFileData;
    const js = JSON.stringify(message);
    socket.send(js);
}

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda