ios xmpp开发的那些事儿

说明

近期,自己在搭建openfire服务器,利用xmpp实现即时通讯,搭建的过程和代码,百度一下,一大推,今天单单说说其中遇到的问题。

那些坑

  1. 离线消息的服务器反弹
    在向好友发送离线消息的时候,如果发送的离线消息的总量超出open Fire的离线消息存储量时,(默认情况下,open Fire设置的离线消息总量为100k),会发送反弹(所谓的反弹,就是你发送的消息,服务器由转发给你,而不是转发给好友)。
    解决办法:我们可以在open Fire的管理控制台设置


    ios xmpp开发的那些事儿_第1张图片
    解决方法

    在上面的图片中,我们可以设置单个离线消息的存储总量,也可以设置超出总量的处理策略。

  2. 发送语音的处理
    苹果录音默认是caf格式的,但是这种格式,安卓端是无法播放的,并且这种格式的录音文件也比较大,建议转换成amr格式。
  3. 图片、视频、附件等资源的发送
    图片、视频、文件、都是比较大,首先要进行压缩,其次,就是将这些资源发送到我们自己的服务器上,而不是放在open Fire的服务器上,我们发送的只不过是资源文件的URL而已,这样,大大缓解了open Fire的压力。
  4. 关于视频聊天和语音聊天
    XMPP 的扩展协议 Jingle 使得其支持语音和视频,目前 iOS 尚不支持。那么,怎么解决呢,建议使用webRTC.

你可能感兴趣的:(ios xmpp开发的那些事儿)