Jade Dungeon

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