-1
WebSocketからuInt8Arrayを受け取り、そこからInt32を読み込みたいとします。 私はデータビューを使用してみましたが、私にとっては期待どおりに動作しません。uInt8ArrayからInt32を取得するNodejs
vWebSocket=new WebSocket("http://127.0.0.1:8081","",{perMessageDeflate:true});
wWebSocket.on('message', function(prData,prFlags)
{
var vDataView=new DataView(prData.buffer);
var vLong=vDataView.getInt32(0,true);
console.log('Datas received'+vLong);
}
は、もともと私は、(sgcWebSocketを使用してデルファイアプリケーションから)デバッガPRDATAで
- を「350000」INT32をsendedではUint8Arrayとして見られ、それは正しいバイト値[48,87,5,0]が含ま
- が、微細vlongに含ま1717920771または154220088(私はエンディアンを変更しようとした)の代わりに、350000
私はので、私は、私はarroundのグーグルが、私は任意の手掛かり
が見つかりませんでした私は初心者の間違いをしなければならないと仮定JavaScriptにはかなり新しいです あなたの観察と
prData *が 'Uint8Array'ではない可能性がありますか? –
@ T.J.Crowder:デバッガは、それが 'UInt8Array'だと思っているようです。また、 '0x30'、' 0x57'、 '0x05'、' 0x00'を含んでいます。これは本当にビッグエンディアン(ネットワーク)形式の '350000'または' 0x00055730'です。 –
@RudyVelthuis:ヘンリーが言ったことを確認しました。本当にそれらの内容のUint8Arrayだった場合は、表示された 'DataView'コードが機能するため、私は確認を求めていました。 (https://jsfiddle.net/xbh6qr6v/)それは示唆している...そうではありません。 –