青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Benjamin

靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數據加載中……

cocos creator使用protobufjs

1、npm install -g protobufjs 安裝protobufjs
2、
protobufjs\dist中找到protobuf.js文件,并作為插件拖放到Creator中(注意,必須作為插件,并且是四個選項都必須選中,否則將報錯!)
3、定義msg.proto
文件,并將prot文件轉成對應的js版本.
    命令:
::protobuf.js版本6.x生成js文件 pbjs -t static-module -w commonjs -o Msg.js msg.proto        msg.proto是proto文件,Msg.js是生成的js文件
4、
修改Msg.js文件,注釋掉var $protobuf = require("protobufjs/minimal");
   新增var $protobuf = protobuf;
5、將Msg.js拖放到Creator中,寫腳本:
    var ipPort = "ws://" + this.ip + ":" + this.port;
    console.log(ipPort);
   this.ws = new WebSocket(ipPort);
   this.ws.binaryType = 'arraybuffer'; //這里設置為發送二進制數據
   this.ws.onopen = function (event) {
      console.log("open");
       //打開成功立刻進行發送
       if (self.ws.readyState === WebSocket.OPEN) {
           let message = msg.Login.create({name: "hello", pwd: "pwd"});//構造對象
           let messageBuf = msg.Login.encode(message).finish(); //獲取二進制數據,一定要注意使用finish函數
           self.ws.send(messageBuf); //發送二進制數據
       }
   };
   this.ws.onmessage = function (event) {
       console.log("onmessage : " + event.data);
   };
   this.ws.onerror = function (event) {
       console.log("on error :", event.data);
   };
   this.ws.onclose = function (event) {
       console.log("onclose");
   };
6、組包使用ArrayBuffer這個數據結構,它示通用的、固定長度的原始二進制數據緩沖區。
  ArrayBuffer 不能直接操作,而是要通過類型數組對象DataView 對象來操作,它們會將緩沖區中的數據表示為特定的格式,并通過這些格式來讀寫緩沖區的內容。
     let message = msg.Login.create({name: "hello", pwd: "pwd"});
     let msgEncode = msg.Login.encode(message).finish(); //一定要注意使用finish函數
     //二進制數據的長度+一個short的長度
    var sendBuf = new ArrayBuffer(msgEncode.length + 2);
    var dv = new DataView(sendBuf);
    dv.setInt16(0,1); //寫入一個short值 起始位置以byte為計數的指定偏移量(byteOffset)處儲存一個16-bit數
    //將二進制數據寫入
    var u8view = new Uint8Array(sendBuf, 2); //跳過一個short的距離
    for (var i = 0, strLen = msgEncode.length; i < strLen; ++i){
         u8view[i] = msgEncode[i];
    }
    self.ws.send(sendBuf);
7、解包:
     this.ws.onmessage = function (event) {
            console.log("onmessage : " + event.data);
    var recv_data = event.data
    var dv = new DataView(recv_data);
    var len = dv.getInt16(0) //相對于起始位置偏移 n 個字節處開始,獲取一個16-bit數(短整型,2個字節).
   //消息體
   var data_body = new Uint8Array(recv_data, 4); 
   //轉成PB消息體
  let message = msg.Login.decode(data_body);//構造對象
8、解包格式應和組包格式一樣;cocos下經過命令處理后的消息js文件不能作為插件使用,使用的時候切記
9、https://github.com/zimv/websocket-heartbeat-js,這是一個封裝好的帶有心跳和重連websocket,可以直接拿來使用

posted on 2019-07-27 16:48 Benjamin 閱讀(1600) 評論(0)  編輯 收藏 引用 所屬分類: 雜談

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免播放器亚洲一区| 久久精品欧美日韩| 欧美视频中文字幕| 亚洲香蕉成视频在线观看| 一区二区三区黄色| 国产精品一区2区| 免费欧美电影| 欧美日韩黄色大片| 欧美在线1区| 久久夜色精品国产噜噜av| 亚洲毛片在线| 亚洲欧美日韩一区二区| 亚洲人成网站在线播| 99在线精品观看| 国产一区视频在线观看免费| 欧美国产亚洲精品久久久8v| 欧美日韩亚洲一区二区三区在线观看| 亚洲欧美另类综合偷拍| 久久成人免费网| 99天天综合性| 久久成人羞羞网站| 亚洲特级片在线| 久久精品夜色噜噜亚洲a∨ | 久久九九99| 99精品久久久| 久久精品国产77777蜜臀| 日韩午夜电影| 久久国产精品黑丝| 亚洲欧美国产视频| 欧美高清视频免费观看| 久久狠狠亚洲综合| 欧美视频官网| 亚洲国产视频a| 亚洲人成网站精品片在线观看 | 亚洲免费视频一区二区| 欲色影视综合吧| 亚洲视频观看| 亚洲精选大片| 久久综合中文色婷婷| 午夜免费日韩视频| 欧美日韩精品三区| 欧美激情bt| 精品99一区二区| 亚洲欧美一级二级三级| 亚洲资源av| 欧美日韩直播| 亚洲精品少妇网址| 亚洲精品国产无天堂网2021| 久久精品国产免费看久久精品| 午夜精品在线| 国产精品福利在线观看网址| 亚洲激情啪啪| 日韩视频免费大全中文字幕| 麻豆国产精品777777在线| 久久亚洲春色中文字幕| 国产精品自拍网站| 一区二区高清视频在线观看| 一本色道精品久久一区二区三区 | 欧美另类视频| 亚洲国产婷婷香蕉久久久久久| 精品不卡一区| 久久乐国产精品| 久久久水蜜桃| 亚洲国产第一页| 免费观看一区| 亚洲二区在线视频| 日韩视频一区二区三区| 欧美成人一区二区| 亚洲激情网站| 亚洲视频1区2区| 国产精品久久午夜| 午夜激情亚洲| 久久视频在线视频| 亚洲国产欧美另类丝袜| 欧美激情第五页| 一区二区三区精品久久久| 亚洲一区一卡| 国产网站欧美日韩免费精品在线观看| 先锋影音一区二区三区| 久久亚洲国产精品日日av夜夜| 一区精品久久| 欧美aaa级| 亚洲午夜高清视频| 久久久亚洲国产美女国产盗摄| 国内自拍亚洲| 久久人人97超碰精品888| 亚洲国产精品www| 亚洲亚洲精品在线观看| 国产欧美日韩精品一区| 久久婷婷丁香| 日韩网站在线| 久久亚洲综合色| 99re6热只有精品免费观看| 欧美丝袜一区二区三区| 久久精品卡一| 艳女tv在线观看国产一区| 欧美一区二区精美| 亚洲精品美女久久7777777| 国产精品va在线| 久久久www成人免费精品| 国产精品丝袜久久久久久app| 欧美中在线观看| 亚洲精品国久久99热| 久久精品亚洲| 妖精成人www高清在线观看| 国产日韩亚洲欧美精品| 欧美国产精品久久| 久久超碰97人人做人人爱| 日韩亚洲在线| 欧美激情亚洲一区| 久久精品导航| 亚洲伊人一本大道中文字幕| 在线成人h网| 国产农村妇女毛片精品久久莱园子| 免费观看一级特黄欧美大片| 性18欧美另类| 亚洲综合第一页| 亚洲精品极品| 欧美激情中文不卡| 久久久99久久精品女同性| 亚洲男女自偷自拍| 一本色道久久99精品综合| 在线观看不卡av| 国产在线不卡精品| 国产性猛交xxxx免费看久久| 欧美视频在线观看视频极品| 欧美激情国产日韩| 美女脱光内衣内裤视频久久影院 | 欧美精品播放| 欧美不卡在线| 牛夜精品久久久久久久99黑人 | 久久久久久网址| 欧美一级理论片| 亚洲欧洲av一区二区| 亚洲午夜久久久久久久久电影院 | 欧美日韩一区二区三区在线| 免费亚洲视频| 欧美电影在线观看| 欧美大学生性色视频| 欧美不卡在线视频| 老妇喷水一区二区三区| 久久亚洲欧美国产精品乐播| 久久九九免费| 久久综合国产精品台湾中文娱乐网| 欧美一区二区视频免费观看| 欧美一区二区高清在线观看| 欧美一区二区性| 久久乐国产精品| 欧美成人亚洲| 国产精品久久久久av免费| 欧美视频一区二区三区四区| 欧美性猛交xxxx乱大交蜜桃 | 欧美激情一区二区三区蜜桃视频 | 久久久夜夜夜| 欧美精品一区二区三区视频| 国产精品第2页| 国产精品系列在线| 激情av一区| 亚洲欧洲一区二区在线观看| 亚洲免费精彩视频| 性久久久久久久久久久久| 久久精品30| 亚洲国产日韩在线| 在线一区二区视频| 国产精品日韩在线观看| 欧美日韩成人在线观看| 欧美色另类天堂2015| 国产私拍一区| 亚洲国产另类久久久精品极度| 一区二区免费在线播放| 欧美一区激情| 亚洲国产精品久久精品怡红院| 在线亚洲欧美| 美女网站久久| 国产精品久久久久999| 亚洲第一在线综合在线| 一区二区三区日韩| 毛片av中文字幕一区二区| 99精品免费| 久久视频免费观看| 国产精品久久久久影院色老大 | 亚洲激情影院| 久久精彩视频| 9l国产精品久久久久麻豆| 久久国产精品72免费观看| 欧美日韩精品免费观看视频完整| 国产日产高清欧美一区二区三区| 亚洲免费高清| 蜜桃av噜噜一区| 亚洲欧美日韩一区在线观看| 欧美区国产区| 亚洲国产日日夜夜| 久久精品一区二区三区中文字幕 | 亚洲久久视频| 久久天堂成人| 国模私拍一区二区三区| 亚洲欧美国产va在线影院| 亚洲剧情一区二区| 免费日韩av| 亚洲国产网站|