私はsocket.io(バージョン1.7.3)でNode.js(バージョン7.9.0)を使用していて、配列 " softwareBez "と" softwareVersion "をサーバーからクライアントに送信します。クライアントは配列の内容をテキストとして出力する必要があります。アレイが正しい充填されることにconsole.log示す上Node.jsとSocket.io - emit関数を使用して配列を送信する方法
---サーバ側---
var softwareBez = new Buffer(recTelegramm[2]); // Create array with the length recTelegramm[2]
var softwareVersion = new Buffer(recTelegramm[3]); // Create array with the length recTelegramm[3]
// Fill the array softwareBez
for(var i=0; i<recTelegramm[2]; i++)
{
softwareBez[i] = recTelegramm[9+i];
}
//
// Fill the array softwareVersion
for(var i=0; i<recTelegramm[3]; i++)
{
softwareVersion[i] = recTelegramm[9+recTelegramm[2]+i];
}
//
// Output for Tests
console.log("softwareBez: ", softwareBez , "\n");
console.log("softwareVersion: ", softwareVersion , "\n");
// Send Data to Client
io.sockets.emit('P_Sysinfo', {softwareBez: [softwareBez], softwareVersion: [softwareVersion]});
出力:
ここに私のコードです。
---クライアント側---
$('#content').append
(
$('<li></li>').append($('<span>').text('Softwarebezeichnung: ' + data.softwareBez)),
$('<li></li>').append($('<span>').text('Softwareversion: ' + data.softwareVersion))
);
そして、ウェブブラウザで出力する:
Softwarebezeichnung: [object ArrayBuffer]
Softwareversion [object ArrayBuffer]
だから、何かが配列の送信と間違って行くように見えますか? Are arrays allowed in the socket.io emit function? したがって、emit関数(サーバー側)の "softwareBez:[softwareBez]"と "softwareVersion:[softwareVersion]は角カッコ" ["と"] "の中にあります。 。しかし、とし、これらのブラケットなし - 同じ問題....助けを
どうもありがとう、これが問題だった
私は、あなたが単純な配列を送信しようとすると、バッファーではないのですか? –