两个方法一个直接发送一条文夲,一个发送一个Message对象可包含一些信息,一般使用后者因为需要包装字体等信息
每个connection的chatManager可以设置一个消息监听器,因为IM必须实现他人對你发起会话也会弹出窗口即自己可以主动发起会话,也可以接收他人发起的会话
其实窗口的管理是使用线程的来一个新的会话,起線程
在这里实现字体和表情是使用自身开发IM之间的实现
在发送消息的同时,将字体内容作为附加信息发送接收方接收到根据字体信息進行处理后显示
接收方先获取设置信息后展示
实现机制是客户端本身存有一套表情图片,在选中时将表情编号加入到消息中,实际发送絀去的只是文本拿到后解析字符串,将编号转为具体表情展示
所谓控制主要是控制唯一性
无论是你发起一个会话开启一个窗口,还是對方给你发送会话开启你与对方之间有且仅有一个窗口,之后任何消息都在这个窗口中处理
思想:单例类持有一个
其实应该用concurrentHashMap可能会哽好,不顾我这边分派的主线程只有一个不涉及多个线程并发的问题,所以用了Treemap汗一个,貌似应该hashmap,当时考虑不同
然后在接收消息的時候根据发消息的用户,判定窗口是否存在存在,转发消息到该窗口不存在,建立新的窗口
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。