总结与展望
在经过了之前的各项工作以后,本项目作为一个XMPP的工具库已经具有了基本的登录与 通讯功能。其他的应用在需要通过XMPP协议进行通讯时可以非常方便地调用本工具库来 实现底层的XMPP协议通讯,从而把开发的精力专注于自身的业务逻辑。
由于网络通讯是典型的多任务并行执行程序,这样的场景通过Java语言的线程模型加上 内部锁与同步控制操作方式不但不直观,而且一旦编写错误就会造成锁死与空等待,让 整个程序无法继续执行。相比之下Scala自带Actor模式的优势就十分明显,各个独立 执行的任务都可以抽象为一个Actor,程序开发过程中无需锁操作,只要向目标Actor 发送消息就可以实现各个并行任务之间的协作。
在通过Scala语言编程的过程中,得益于Scala特质的灵活性可以灵活地对业务逻辑 进行解耦。并且结合Scala特质与自身类型可以在不引入第三方库的情况下实现依赖注入 的模式。
最后由于Scala对于XML的原生支持,在遇到以XML为消息格式的XMPP协议时让程序处理 XML数据相当便利。
当然,本工具库作为第一版的成果还是比较简单。XMPP协议本身涵盖的范围十分广泛, 还有诸如文件传输、语音和视频通讯、多人聊天室等许多有用的功能因为时间与人力资源 有限在当前版本中暂时无法实现。但是反过来说,虽然当前的版本功能简单,却毕竟是 向着实现XMPP协议的目标迈出了坚实的第一步。在今后能以当前版本为基础,不断完善, 实现更多的功能。