Nodejs: Setzt highWaterMark des Socket-Objekts

kann der highWaterMark eines Socket-Objekts nach dessen Erstellung gesetzt werden:

var http = require('http');

var server = http.createServer();

server.on('upgrade', function(req, socket, head) {
    socket.on('data', function(chunk) {
        var frame = new WebSocketFrame(chunk);

        // skip invalid frames
        if (!frame.isValid()) return;

        // if the length in the head is unequal to the chunk 
        // node has maybe split it
        if (chunk.length != WebSocketFrame.getLength()) {
            socket.once('data', listenOnMissingChunks);
        });
    });
});

function listenOnMissingChunks(chunk, frame) {
    frame.addChunkToPayload(chunk);

    if (WebSocketFrame.getLength()) {
        // if still corrupted listen once more
    } else {
        // else proceed
    }
}

Das obige Codebeispiel funktioniert nicht. Aber wie mache ich das stattdessen?

Weitere Erklärung: Wenn ich große WebSocket-Frames erhalte, werden diese in mehrere Datenereignisse aufgeteilt. Das macht es schwierig, die Frames zu analysieren, da ich nicht weiß, ob es sich um einen geteilten oder beschädigten Frame handelt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage