美文网首页
使用QQ玩一玩 brickEngine 中的websocket

使用QQ玩一玩 brickEngine 中的websocket

作者: VIL凌霄 | 来源:发表于2019-11-14 11:37 被阅读0次

在使用 QQ玩一玩的websocket 时找不到纤细的使用说明文档,这里给一份适配好的代码。

function  VilWebSocket(){ 
    var mCallBack = callback;
    var mHost = host;
    var socketMsgQueue = [];
    var socketOpen = false;
    var socket = new BK.WebSocket(host);
    var that = this;

    this.send = function (msg) {
        if(socketOpen){
            socket.send(msg.buffer)
        }else{
            if (socketMsgQueue.length < 100) {
                socketMsgQueue.unshift(msg);
            }
        }
    };

    this.close = function () {
        console.log("websocket close");
        if(socket){
            socket.close()
        }
    };

    socket.onOpen = function(res) {
        socketOpen = true;
        console.log("[BK.WebSocket][connect]:" ,res);
        while (socketMsgQueue.length > 0) {
            that.send(socketMsgQueue.pop());
        }
        mCallBack.onConnect && mCallBack.onConnect(mHost);
    };

    socket.onClose = function(res) {
        socketOpen = false;
        console.log("[BK.WebSocket][onClose] case:",JSON.stringify(res));
        var e = {code:1000, message:" close normal"};
        mCallBack.onDisConnect && mCallBack.onDisConnect(mHost, e);
    };

    socket.onError = function(err){
        if(socket && socketOpen){
            socketOpen = false;
            socket.close();
        }
        var e = {code:err.getErrorCode(), message: err.getErrorString()};
        if(e.code === 65535){
            e.code = 1000;
        }
        mCallBack.onDisConnect && mCallBack.onDisConnect(mHost,e);
    };

    socket.onMessage = function (res, data) {
        var buf = data.data;
        buf.rewind();
        var ab = new ArrayBuffer(buf.length);
        var dataView = new DataView(ab);
        while (!buf.eof) {
            dataView.setUint8(buf.pointer, buf.readUint8Buffer());
        }
        mCallBack.onMsg && mCallBack.onMsg(dataView);
    };

    if(socket){
        socket.connect()
    }
}

相关文章

  • 使用QQ玩一玩 brickEngine 中的websocket

    在使用 QQ玩一玩的websocket 时找不到纤细的使用说明文档,这里给一份适配好的代码。

  • QQ玩一玩bricks引擎BK.Buffer 转 ArrayBu

    在使用QQ玩一玩的WebSocket时,资料特别少,有一个很头疼的问题,就是BK.Buffer转DataView,...

  • QQ玩一玩广告与音效使用总结

    QQ玩一玩广告与音效使用总结 1、经常遇到的问题 观看视频广告时背景音乐没有关闭 视频广告看完背景音乐重叠 游戏回...

  • 玩QQ

    昨天,我从妈妈手机上下载了QQ。当时,妈妈发现了,妈妈 发现了没有给我删除,我发现 我的第一个联系人是小企鹅,妈妈...

  • 小游戏游戏入门到精通OR放弃?

    这是介绍的小游戏为QQ轻游戏-玩一玩 0、体验QQ轻游戏 需要使用Android手机 登录手Q开启厘米秀 侧滑点击...

  • 白鹭引擎5.0的项目如何升级到5.2

    白鹭引擎 5.2 版本增加了对微信小游戏和 QQ 玩一玩的支持,项目结构有些变化,无法使用egret upgrad...

  • 人气qq怎么玩?

    如何打造一个人气qq呢,我不是职业玩家。我是按照自己的思路操作的。 先定位,再引流。定位就是说需要提前规划好,要做...

  • 玩 QQ飞车有感

    很久不玩游戏了。最近生活平淡,工作无聊有了闲暇的时间。再加上自己做的有一款新产品支持游戏功能。所有利用工作之便又开...

  • 玩中减肥,减肥中玩

    之前的减肥我都是靠节食的,少吃点在少吃点,每月也都有点效果,或者轻三斤或者轻五斤。但若那一个周里,要多吃了一点点,...

  • 玩转QQ,你需要这个黑科技App

    “玩QQ必备黑科技 -功能非常多,并且实用,占用内存小,使用方便” 君Q助手,各种功能QQ透明头像,QQ资料清空,...

网友评论

      本文标题:使用QQ玩一玩 brickEngine 中的websocket

      本文链接:https://www.haomeiwen.com/subject/gurqtqtx.html