dongqun9403 2015-11-01 13:41
浏览 707

如何从websockets解析二进制数据?

I'm trying to parse frames from Websockets. I did it with Fiddler, which shows me binary data from the frame. I need the same result but I need to get it via Javascript or Php (or any other language). I tried to do that with Js

var a = new WebSocket("ws://example.com");   
a.onopen = function() 
 { 
  console.log("open"); 
  a.send("test");
  var b = new Uint8Array([8,6,7,5,3,0,9]);
  a.send(b.buffer); };
a.onmessage = function(e) {  console.log(e.data.toString());};
a.onclose = function() { console.log("closed");};

But I didn't receive any data on "a.onmessage". At this moment I've stucked. To clarify my question one more time. I need simple code example which parses frames from websockets. Example of what I'm trying to parse

Thanks!

  • 写回答

1条回答 默认 最新

  • dreamfly2016 2015-11-01 18:41
    关注

    Using DataView:

    var socket = new WebSocket('ws://127.0.0.1:8081');
    socket.binaryType = 'arraybuffer';
    
    socket.onmessage = function (e) {
      var data = e.data;
      var dv = new DataView(data);
    
      // reads an UInt16 at the beginning 
      var uint16= dv.getUint16(0);
    
      // reads next UInt16 (sets 2 bytes of offset, since previous UInt16 takes 2 bytes)  
      var another_uint16= dv.getUint16(0);
    };
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据