我正在尝试向使用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上。