xmpp_simple_im
搭建服务器和数据库
搭载服务器我用的是openfire,数据库用的是mysql
这里推荐两篇文章
配置mysql,用的是mysql workbench
http://justsee.iteye.com/blog/1753467
配置服务器 Openfire
http://www.cnblogs.com/xiaodao/archive/2013/04/05/3000554.html
先配置好数据库然后配置服务器
然后两个都打开
数据库也打开
下一个XMPP客户端,就是用来测试的
我下的是Adium
配置
然后在Adium里面添加帐号,服务器要用openfire设置好的127.0.0.1,端口用5222
这里openfire里面的服务器端口,5222是客户端连接服务器
登录成功后可以在openfire里面看到用户已经在线
然后另一客户端,我直接用代码,觉得麻烦没做界面
简单实现
设置XMPPStream
1 | - (XMPPStream *)stream |
然后设置帐号,只是测试,所以直接在viewDidLoad里面写了
1 | - (void)viewDidLoad { |
然后就是验证密码,下面的方法是上线,这些是代理方法,记得设置XMPPStream的代理
1 | - (void)xmppStreamDidConnect:(XMPPStream *)sender |
这是接受信息的方法,我没做界面,直接打印出来接受的信息
1 | - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message |
如果验证失败的话,会调用这个方法
1 | - (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(DDXMLElement *)error |
后来在openfire查看用户名必须带 服务器名
例如我的帐号是test123,设置JID的用户名就是[email protected]
1 | [self.stream setMyJID:[XMPPJID jidWithString:@"[email protected]"]]; |
然后运行,没有报错,在openfire显示已经在线
然后就可以开始聊天了,下面的是刚发的,上面的是之前的聊天记录
发了文字和一个链接
然后Xcode输出
即时通讯最简单的就这样,退出APP后openfire后台就会显示下线