美文网首页
关于安卓socket的封装的思考

关于安卓socket的封装的思考

作者: motosheep | 来源:发表于2020-01-21 14:03 被阅读0次

    安卓端实现socket,需要考虑的问题比较多,如网络的切换,心跳的发送,重新连接,数据补传等处理。

    本文仅对socket进行初步封装进行分享。

    (1)数据发送(String)

    (2)重连机制

    首先,socket的使用,ip加port。这个需要注意,ip参数的格式,这里就不再叙述。

    关于第一点:(发送,接收需要在子线程处理,这里不再叙述)

    首先如下图

    这里,我定义了bufferedreader和bufferedwriter用于收发,具体的定义,要看实际项目的需求,有些项目是采用十六进制的格式传递的,定义也有所不同。

    接着就是socket的初始化:

    这里对初始化使用了try,catch的包围,主要是要自行处理一些异常导致的掉线,连接不上的情况,必须实现。

    初始化完毕后,就是进行接收的监听的,这里使用的是一个while循环,进行数据的监听,如下图:

    发送的方法,如下图,也需要在子线程处理:

    目前,都在抛出异常后,执行重连的函数,关于重连,可以设置标识进行判断是否启用,不过要注意并发引起的问题。

    that's all

    码云地址:

    https://gitee.com/motosheep/SocketDemo

    相关文章

      网友评论

          本文标题:关于安卓socket的封装的思考

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