XMPP聊天程序iPhone版开发(一):初识XMPPFramework

由于前几天一直在写一个图片下载的第三方库,所以工作中需要做XMPP聊天的工作一直放着,到前天到开始研究XMPP,结果其过程是各种蛋痛~ 如今总算是有些收获~所以把其中的过程记录下来~希望对各位有些帮助~

mac下服务器端搭建我已经在《XMPP即时通讯mac系统下ejabberd服务器环境搭建》做了讲解,如果各位有不明白的地方可以发email到abel_tu@163.com

一、XMPP介绍

简介:可扩展通讯和表示协议 (XMPP)可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。XMPPJabber协议为基础,而Jabber是即时通讯中常用的开放式协议。

XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。

XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSNICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML

传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了,人也容易阅读了,方便了开发和查错。而XMPP的核心部分就是一个在网络上分片段发送XML的流协议。这个流协议是XMPP的即时通讯指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。所以可以说,XMPPTCP传的是XML流。


二、准备工作

1、下载一个xmpp桌面端的聊天应用Adium,主要是为了你写的程序和桌面端聊天测试以及注册用户。

2、下载一个xmppframework第三方库。(千万不要目前最新版本的,我被他害惨了~我设置了代理,结果在用户认证时代理函数没有被调用。后面我会具体说到)。


准备工作做完之后,我们来看看xmppframework的目录结构如图1-1


图1-1
点击Xcode中iPhoneXMPP中的.xcodeproj文件打开项目,点击运行,如图1-2

图1-2


在JID中输入你已经注册的账号,Password中输入密码,点击Done进行连接。进入如1-3界面,那么,恭喜你,已经成功连接服务器。(在这里我要提醒一下,不管服务器上怎么设置的,一定是要注册的,我刚开始因为公司有人说只要输入用户名,密码随意就自动注册了,结果我在这个问题上纠结了一个上午)。

图1-3

XMPP的基本配置情况就介绍到这里,下面我们来看看XMPP聊天的代码实现


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值