XMPP协议的Scala实现
XMPP协议的Scala实现
- 自定义XML的prop属性,通过Base64序列化对象(一定要实现Seriselizable接口)
- XML组成,添加Attr,用folder()实现attr链
- XML用来序列化类不好表示类型,还是显式写出来比较好。
-
Enum类型的类不是
类名
,而是类名.Value
- Scala的getter/setter风格
- Scala遍历:foreach()没有返回值和map()有返回值
- hashCode与equals方法的重要性与可能出现的问题。
- scala匿名内部类
- packet类的设计
- 依赖注入的应用
- 变长参数与Java中Obj类变长参数要手动转换。
TODO
-
把
PacketExtension
改为SubPacket
展望
- compress压缩数据
- 自动重新建立连接
开题报告:xmpp.proj.open
第一章:前言:xmpp.proj.into
第二章:XMPP协议基础:xmpp.base
第三章:登录过程详解:xmpp.login
第四章:开发环境的构建:xmpp.evn.build
第五章:应用基础架构:xmpp.archtech.base
第六章:实现登录功能:xmpp.impl.login
第七章:联系人与状态:xmpp.impl.roster
第八章:消息的发送与接收:xmpp.impl.message
第九章:总结与展望:xmpp.impl.overview