2017-04-25 12 views
1

私は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]は角カッコ" ["と"] "の中にあります。 。しかし、とし、これらのブラケットなし - 同じ問題....助けを

どうもありがとう、これが問題だった

+1

私は、あなたが単純な配列を送信しようとすると、バッファーではないのですか? –

答えて

0

おかげで....

サーバー側で、次のとそれは動作します:

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] 

もう1つの質問:配列にdec数値があります。これらのdec数をASCII-Table上のテキストに変換する簡単な可能性はありますか?任意の関数かそれとも?

関連する問題