美文网首页
Starscream二次封装

Starscream二次封装

作者: 歌手的剑 | 来源:发表于2017-08-11 17:06 被阅读208次

    为何要封装:
    便于其他共用一套WebSocket指令的项目使用,隐藏wss消息的通讯.
    Starscream源码在此,可以使用Carthage集成到项目中.


    示例:(本人封装的是一套机器人通过服务器转发指令给客户端的场景):


    SDK项目结构

    核心类是MDManager类,包括:
    单例对象,用于连接Socket的一些必要的key和证书设置.
    CreateRobot方法,用于创建一个MDRobot单例


    MDManager

    createRobot

    接下来就是包括所有连接及接收数据的管理类MDRobot:
    下图包括了一个delegate,这个接下来会讲到;
    接下来就是一些客户端主动发给服务器的一些指令:


    MDRobot connectRobot handle

    connect内部实现了Starscream的闭包socket.onconnect和ondisconnect这些指令,在连接成功后我们发送了服务器规定的心跳数据,并且做了丢失处理,此处每发一次心跳则给心跳计数+1,然后在onData中每收到一次心跳回包则给心跳计数归零.

    onData

    onData中包含了对接收到数据的处理每一种数据对应一个代理方法.

    delegate

    这样我们就可以在想观察指令的位置实现代理,发送指令就可以收到对应的指令的代理方法了.(待完善加入Rxswift监听代理)

    相关文章

      网友评论

          本文标题:Starscream二次封装

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