由於很多我之前,我使用下面的代碼來回的ArrayBuffer和字符串之間進行轉換:
function ab2str(buf) {
return String.fromCharCode.apply(null, new Uint16Array(buf));
}
function str2ab(str) {
var buf = new ArrayBuffer(str.length*2); // 2 bytes for each char
var bufView = new Uint16Array(buf);
for (var i=0, strLen=str.length; i<strLen; i++) {
bufView[i] = str.charCodeAt(i);
}
return buf;
}
不幸的是,我從套接字接收似乎是不可分析。
假設數據報:
01,33,2.58,1.00
下面的代碼很差失敗:
function message(msg, rinfo) {
var string = ab2str(msg);
console.log(string);
var data = string.split(",");
for (i = 0; i < data.length; i++) {
data[i] = parseFloat(data[i]);
console.log(data[i]);
}
}
控制檯輸出:
01,33,2.58,1.00
0
NaN
NaN
NaN
連接的另一端是什麼? – Xan
以'的SendTo()'函數發送ArrayBuffer使用'str2ab()翻新' – LePhleg
str2ab(客戶端) - > SENDTO() - > recvfrom的() - > ab2str() – LePhleg