2015年6月30日星期二

XMPP使用简介--登录 - 杰瑞教育

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
XMPP使用简介--登录 - 杰瑞教育  阅读原文»

  在现阶段的通信服务中,各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现,实现了整个及时通信服务协议的互通。有了这个协议之后,使用任何一个组织或者个人提供的即使通信服务,都能够无障碍的与其他的及时通信服务的用户进行交流。例如google 公司2005年推出的Google talk就是一款基于XMPP协议的即时通信软件。下面我们就谈论一下如何简单的使用XMPP

一、环境的搭建,本文采用的是openFire 服务器

  1、下载最新openfire for mac版 http://www.igniterealtime.org/downloads/index.jsp

  2、点击下面图标进行安装JDK 和服务器

  3、启动后,点击Open Admin Console按钮,自动在浏览器中打开本地web配置页面http://localhost:9090/setup/index.jsp然后进行服务器配置

  4、将语言设置为中文即可

  5、设置服务器地址为本机

  6、设置数据库

  在执行此步骤之前需要做一些准备工作,

1创建数据库 :create database openfire;2导入openfire资源文件夹 resources/database下的数据表:source /usr/local/openfire/resources/database/openfire_mysql.sql
7、特性设置

  8、设置openfire服务器管理员的帐号和密码

  9、安装完成,点击按钮登录

  登录后界面如下

  10、按照上面操作创建用户密码

  11、此时的准备工作基本完成

二 导入XMPP

  1、将XMPP全部导入工程

  2、导入依赖包

  由于动态库的存在因此需要做以下操作

三、到目前为止我们的XMPP成功导入到项目中,下面我们开始编码实现用户登录

  1、在代理里面引入包,并且定义流属性

  2、初始化并且添加代理

#pragma mark 初始化
- (void)setUpStream{

if (_stream==nil) {

//1 初始化stream
_stream=[[XMPPStream alloc] init];

//2 添加代理
[_stream addDelegate:self delegateQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];

}

}

  3、建立连接

#pragma mark 建立链接
//建立连接
- (void) connect{

//1 初始化
[self setUpStream];

//2 制定服务器地址,用户名,密码
NSString * userName=@"jereh@jereh.local";
NSString
* hostName=@"jereh.local";

//3 设置JID和主机
XMPPJID * jid=[XMPPJID jidWithString:userName];

[self.stream setMyJID:jid];
[self.stream setHostName:hostName];

//4 开始连接
NSError * error;
[self.stream connectWithTimeout:XMPPStreamTimeoutNone error:
&error];

if (error) {
NSLog(
@"发送连接请求失败");
}
else{
NSLog(
@"发送连接请求成功");
}

}

  5、进行密码验证,通过代理方法返回结果

#pragma mark 验证身份请求
-(void)xmppStreamDidConnect:(XMPPStream *)sender{

NSLog(
@"链接成功");

//发送身份验证请求
NSString * pwd=@"jereh123";
[self.stream authenticateWithPassword:pwd error:nil];
}制作在线简历(三)――技能介绍 - 咖啡机(K.F.J)  阅读原文»

一、结构

结构还是很朴素的,星星是在font-awsome选的一符号,整个结构又是用一张table表格来搭的,选了两种底色作为顶部和左边的底色。

这里由于使用了自定义字体,就碰到了个问题,就是当点到这张星星页面的时候,字体还没加载进来,这个时候星星的位置要么是乱码要么是没有的,后面就去找了个解决方法,使用webfont loader,在字体加载成功的回调函数中再应用相应的font-family的CSS样式。

<script src="js/webfontloader.js"></script>
<script>
WebFont.load({
custom: {
families: [

没有评论:

发表评论