您的位置:首页 > 移动开发 > IOS开发

iOS 使用XMPP框架开发IM聊天模块,实现简单的文字聊天

2016-06-15 14:41 656 查看
首先,还是先搭建一个测试服务器吧。

参考网址:http://code.tutsplus.com/tutorials/building-a-jabber-client-for-ios-server-setup--mobile-6958
搭建eJabberd服务器,mac系统安装包下载地址:http://pan.baidu.com/s/1dFgADOX
按照教程来走,有不一样的百度一下,基本就能搞定啦。PS:这个是老版本的eJabberd安装包,不知道为什么,用最新版的设置一些参数就是不成功,老版本的就可以了。
OK,现在服务器安装完毕,创建两个账号,用iMessage和另一款支持eJabberd服务器的聊天软件互相聊一下,能互相聊就OK了。
附上mac下的一款聊天软件Adium的下载地址:http://pan.baidu.com/s/1jH9W2fO

下一步,开始写代码吧
参考教程:http://www.jianshu.com/p/c7bbbad90639
基本上按照教程来就可以啦,但是在我的Demo中,他的数据库查询语句跑不通,因此在Demo中,我把查询语句注释掉了。
最后,附上Demo,只实现了文字聊天功能,其他扩展功能如参考教程所说的方法开发就行了。
Demo下载地址:http://pan.baidu.com/s/1o81rb9S,对了,Demo的XMPP部分是用Swift写的,UI页面OC写的。
最最后,XMPP貌似不支持实时语音通话和实时视频通话,扩展协议里好像有支持,请自行查找吧。
做Demo的过程中,搜索了很多的资料,发现XMPP缺点是太臃肿,据说70%的传输数据都在传协议内容,只有30%是IM聊天的内容。
其他实现IM的方式:WebRTC、WebSocket、socket.io、MQTT、自定义协议等等,建议想做IM的好好查查相关资料。技术选型很重要,且行且珍惜。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: