Socket.io-client android 部分源码解析

本文深入解析了Socket.io-client Android库中的Emitter类,它作为核心组件被Socket类继承。Emitter类中定义了线程安全的数据结构用于存储回调,提供了解除监听器的方法。此外,还介绍了Socket类,它是客户端,负责链接管理和通信细节。Socket类包含事件常量和管理链接状态的变量,使用队列确保FIFO特性。
摘要由CSDN通过智能技术生成

1. Emitter类

Emitter类可以说是socket.io-client 中最重要的类,Socket.class 便继承自该类.

先看看Emitter类中定义的变量callbacks:

<span style="white-space:pre">	</span>private ConcurrentMap<String, ConcurrentLinkedQueue<Listener>> callbacks 
<span style="white-space:pre">		</span>= new ConcurrentHashMap<String, ConcurrentLinkedQueue<Listener>>();
可以说整个Emitter类就是围绕着callbacks在进行操作,callbacks通过将 事件名-回调接口 保存在map类型的数据结构中,以便在事件发生时触发相应的回调接口通知监听者。

ConcurrentMap 和 ConcurrentLinkedQueue 都是线程安全的


Emitter类中定义的监听接口 Listener:

    public static interface Listener {

        public void call(Object... args);
    }

外部监听者通过该接口监听Em

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值