即使在125字节以下,也会随机截断WebSocket消息

时间:2014-03-04 06:10:14

标签: javascript firefox websocket chromium

我正在尝试向使用C ++编写的WebSockets服务器发送消息。

这是我用来在浏览器控制台中发送数据的脚本:

function quickTest(wsURL, service) {
    var w = new WebSocket(wsURL);

    w.onopen = function () {
        console.debug('Identifying as', service);
        w.send(service);
    }

    w.onmessage = function (evt) {
        console.log(evt.data);
    }

    w.onerror = function (evt) {
        console.error(evt.data);
    }

    w.onclose = function () {
        console.debug('Goodbye.');
    }

    return w;
}

var x = quickTest('ws://some-uri:9000', 'keyword');
x.send('i lost my phone');

我只是初始化quickTest并重复调用send函数以查看会发生什么。大多数情况下,服务器会正​​确接收文本消息:

i lost my phone

有时,它分为两个(一个来自Chromium的例子):

i lost my ph
H�`

或完全乱码(来自Firefox的示例):

L\u0002T\u001C\u0007\u001C\u001A\t

这是否有特殊原因随机发生?它出现在Ubuntu 12.04上的Chromium 32和Firefox 27.0.1上。

0 个答案:

没有答案