XMPP学习

XMPP通信学习

http://blog.csdn.net/kangx6/article/details/7744304

在这个网站上发现了一个关于XMPP的教程,很好很强大。虽然我自己没有组建服务器,但是通过对它的学习,大概掌握了它的过程。

首先是下载XMPPFramework 这个第三方,按照链接的教程导入,也可以下载它的demo 如果没找到,评论会给出demo的地址

本文按照demo的xun‘xu‘an循序讲

导入XMPPFramework 后  要先确定和host主机链接上了,然后才能收发信息,-

- (void)xmppStreamDidConnect:(XMPPStream *)sender

链接服务器

- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender   服务器验证信息

-(BOOL)connect;确定链接上服务器

当确定链接上服务器之后,就会有别的方法

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message  收到信息

- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence 收到好友状态

当然,这中间有很多消息和方法,这里并没有写完,比如给好友发信息,就没有实现,但是可以根据收信息的模式进行理解

-(void)disconnect  是断开服务器

这样就形成了一个简单地xmpp地流程

但是怎么和用户界面实现连接呢,也就是实现一个类似的微信通话的功能

这里用到了两个tableview界面来实现这样的功能,一个是好友tableview  另一个是通话tableview

那怎么实现好友tableview和xmpp进行关联呢,这里就要使用代理来进行它们之间的沟通,因为在刷新好友界面也就是KKViewController  需要去调用xmpp 的连接,然后xmpp得到好友列表数据,然后xmpp所在的appdelegate,得到该数据之后再把这些数据传输给KKViewController 这个界面,这样一来  就可以使用代理的方法来实现这样的功能,(如果不理解代理,请在网上找到相关方面的教程),好友发送信息于刷新好友的理解类似,这样就能实现xmpp的基本功能,怎么样,是不是很简单呢,当然了,一款功能完善的IM通信,肯定不只这些,但是万事开头难,当你会了开头,相信剩下的就难不倒你了。

时间: 2024-08-03 04:34:57

XMPP学习的相关文章

Xmpp学习之Asmack取经-asmack入门(一)

1.XMPPConnection:它主要是用来创建一个跟XMPP服务端的Socket连接.它是与Jabber服务端的默认连接并且已经在RFC 3920中精确定义过了.示例如下: XMPPConnection connection=new XMPPConnection(configuration); connection.connect(); 2.ConnectionConfiguration:当我们要建立跟服务端的连接时通过它来进行一些配置一些连接参数.例如,你可以通过它来配置trustore文

Openfire/XMPP学习之——一个简单的Smack样例

昨天讲了Openfire的搭建和配置,今天来讲一下Smack.如果对如何搭建和配置Openfire的,可以参考Openfire/XMPP学习之——Openfire的安装.配置. Smack是一个开源,易于使用的XMPP客户端类库.Smack API, 是一个 Java 的XMPP Client Library,也是由Jive Software开发. 优点:编程简单. 缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大,1台机器只能模拟有限(数千个)客户.Smack是一个用 jav

XMPP学习记录之实战篇

在学习iOS以来一直想要研究即时聊天方面的技术,无奈工作或时间原因一直搁浅此计划,近日偷得时闲开始着手与XMPP的学习.在学习之前我一直认为XMPP对我来说是一个很有技术的挑战,在了解了协议的具体形式后,才发觉其实技术的难度只在跟你底层代码原理的掌握程度的熟练度有关,说通俗一点,很多东西其实我们都会,只是在各个框架或技术中我们没有考虑到的东西别人都考虑周全!比如你若对socket有一定的了解并懂得xml数据解析那你就可以看懂大部分的xmpp文档!所以只要掌握了相对来说底层的一些技术那么对于学习于

RFC 6120 XMPP学习笔记

XMPP - Extensible Messaging and Presence Protocol 1. 中文版3920 http://wiki.jabbercn.org/RFC3920 2. 大部分客户端通过 TCP 连接直接连到服务器,并通过XMPP获得由服务器以及联合服务器所提供的全部功能.多个不同资源(比如不同的设备和地点)的客户端可以同时登陆并且并发的连接到一个服务器,每个不同资源的客户端通过XMPP地址的资源标识符来区分(比如<[email protected]/home> 和 &

XMPP学习及使用1

XMPP 简介 本小节将简要介绍 XMPP,它的起源,以及为何它是一个适合实时 web 通信的协议.您将检查 XMPP 通信设置的组件,并查看展示这些组件如何使用的示例. Web 标准和 XMPP XMPP 是一组基于 XML 的技术,用于实时应用程序.最初,XMPP 作为一个框架开发,目标是支持企业环境内的即时消息传递和联机状态应用程序.当时的即时消息传递网络是私有的,非常不适合企业使用.例如,AOL Instant Messenger 不能针对公司内的安全通信进行调整.尽管存在一些商业解决方

iOS xmpp学习 - 环境搭建(配置mysql与openfire服务端)

1> 安装数据库mysql -安装mysql-5.7.12-osx10.11-x86_64.dmg -上面这个mysql是新版本的, 只有一个主安装程序包含全部功能 -在老版本的mysql中会有3个需要安装的程序 *mysql-版本号-要求系统版本-x86_64.dmg     // 这个是主安装程序 *MySQL.prefPane     // 这个是系统偏好管理, 就是在'系统偏好设置'里面添加mysql管理程序 *MySQLStartupItem.pkg     // 自动启动MySQL服

Openfire/XMPP学习之——Openfire的安装、配置

一.Openfire下载: 官方下载:http://www.igniterealtime.org/downloads/index.jsp 在官方下载站点,可以获取Windows.Linux.Mac三种系统的安装文件,我们这里主要讲的是Windows系统的配置,忽略其它系统吧.对于Windows系统来讲,安装文件又分为exe和zip的,个人推荐exe的安装文件,只需要双击->安装就行了,省时省力.对于zip格式的,百度的使用方法是:解压,复制文件到C:\Program Files\目录下即可.这个

Android基于XMPP Smack及Openfire学习笔记(1)

之前开发的项目中实用到IM聊天功能.可是这块功能公司有专门的IM团队来开发,由他们开发好后.直接接入到我们APP中.我參与写IM相关功能非常地少,所以也一直想学习相关知识 . 眼下Android主要用的是XMPP协议及OPenfireserver来实现IM功能,我也从这块入手学习.也感谢全部分享资料让我有机会学习的同行们. 如今正式開始啦. 第一步:搭建Openfireserver: Openfire工具下载地址:http://www.igniterealtime.org/downloads/i

xmpp协议学习笔记

本文是根据xmpp协议视频教程的学习笔记. 每一个客户端使用JID(jabber identifier)来作为身份标识 ,格式为[user"@"]domain["/"resource],其中 domain:服务器域名: user:用户名: resource:属于用户的位置或设备,比如是手机还是电脑     一个用户可以同时以多种资源与统一个XMPP服务器连接,完整的JID例子:[email protected]/iphone6s     stanza的通用属性:fr