2016-08-26 3 views
2

ws을 사용하여 클라이언트로부터받은 ArrayBuffer 메시지를 처리하고 싶습니다. 클라이언트 측에서 ws.binaryType 덕분에 ArrayBuffer를 직접 받았지만 서버 측에서 ArrayBuffer를받지 못했습니다. (문자열?) : '< Buffer 00 00 2a 00 00 00 00 00 00 00 00 00 00 00 00 00> '입니다.WebSocket (ws)에서 ArrayBuffer 받기

서버에서 ArrayBuffer를 수신하는 방법은 무엇입니까?

클라이언트 측 :

var ws = new WebSocket("ws://localhost:3000/"); 
ws.binaryType = 'arraybuffer'; 
ws.onopen = function() { 
    var buffer = new ArrayBuffer(15); 
    var dv = new DataView(buffer); 
    dv.setInt16(1, 42); 
    ws.send(buffer); 
}; 

서버 측 :

var express = require('express'), 
app = express(), 
server = require('http').createServer(), 
WebSocketServer = require('ws').Server, 
wss = new WebSocketServer({ 
    server: server 
}); 

... 

wss.on('connection', function(socket) { 
    console.log(message); 
    //log : <Buffer 00 00 2a 00 00 00 00 00 00 00 00 00 00 00 00 00> 


    socket.on('message', function(message) { 

     //would like to read and handle the arraybuffer properly 

    }); 
}); 

답변

관련 문제