当前位置:首页 » 云服务器 » iosxmpp服务器搭建

iosxmpp服务器搭建

发布时间: 2023-04-03 02:26:08

❶ 如何自己搭建一个xmpp,实现推送消息

Android推送方案分析(MQTT/XMPP/GCM)
蜗牛TT 发布于 4个月前,共有 11 条评论
本文主旨在于,对目前Android平台上最主流的几种消息推送方案进行分析和对比,比较客观地反映出这些推送方案的优缺点,帮助大家选择最合适的实施方案。
方案1、使用GCM服务(Google Cloud Messaging)
简介:Google推出的云消息服务,即第二代的G2DM。
优点:Google提供的服务、原生、简单,无需实现和部署服务端。
缺点:Android版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google。

方案2、使用XMPP协议(Openfire + Spark + Smack)
简介:基于XML协议的通讯协议,前身是Jabber,目前已由IETF国际标准化组织完成了标准化工作。
优点:协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的java版的开发实例androidpn。
缺点:协议较复杂、冗余(基于XML)、费流量、费电,部署硬件成本高。

方案3、使用MQTT协议(更多信息见:http://mqtt.org/)
简介:轻量级的、基于代理的“发布/订阅”模式的消息传输协议。
优点:协议简洁、小巧、可扩展性强、省流量、省电,目前已经应用到企业领域(参考:http://mqtt.org/software),且已有C++版的服务端组件rsmb。
缺点:不够成熟、实现较复杂、服务端组件rsmb不开源,部署硬件成本较高。

方案4、使用HTTP轮循方式
简介:定时向HTTP服务端接口(Web Service API)获取最新消息。
优点:实现简单、可控性强,部署硬件成本低。
缺点:实时性差。

对各个方案的优缺点的研究和对比,推荐使用MQTT协议的方案进行实现,主要原因是:MQTT最快速,也最省流量(固定头长度仅为2字节),且极易扩展,适合二次开发。接下来,我们就来分析使用MQTT方案进行Android消息的原理和方法,并架设自己的推送服务。

如果还不明白的 话,要看分析的话,给你个网址:http://m.oschina.net/blog/82059
自己看看。

❷ 关于iOS xmpp如何和服务器连接 怎样工作。求具体demo 谢谢

求同,如果有文字资料就更好了

❸ 怎么安装Movable Type 要求步骤准确详细,但意思要简单

1. 下载文件从2001年至今,MT已发展到4.0了。在其官方网站上可以下载到最新的4.0个人版。 本文将采用XAMPP用于搭建本地服务器,XAMPP也是一个非常有名的建站软件包,安装及其简单,安装后将提供Apache+php+Mysql环境。在其官方网站下载最新的1.6.3a windows版,以及Perl 5.8.8插件,先安装XAMPP,然后再安装Perl插件。2. 解压下载的MT-4.0-en.zip,将得到的mt-4.0-en复制到:xampp安装目录\cgi-bin下面。如我是将XAMPP安装在D盘根目录,就是D:\xmpp\htdocs,默认是安装在C盘根目录。然后将里面的mt-static文件夹剪切出来放置到:xampp\htdocs下面。3. 进入cgi-bin\MT-4.0-en目录,用文本编辑器如editplus等,打开任意一个cgi文件,将第一行的代码: #!/usr/bin/perl -w改为:#!D:\xampp\perl\bin\perl.exe 其中D:\xampp是我的xampp的安装目录。保存退出。然后务必将该目录下所有*.cgi文件(共13个)的第1行代码全部改过。目录下的mt-config.cgi-original文件暂且不用动。4.打开xampp的控制面板,启动apache和mysql服务,一定要确认apache和mysql服务已启动,如图1。否则将无法进行后续步骤。图1 启动Apache和Mysql服务 在浏览器地址栏中中输入:http://localhost/cgi-bin/MT-4.0-en/mt-check.cgi,打开mt的测试页面。如图2。 图2 MT测试页面-1 因为我们还没生成mt-config.cgi,所以将会提示“Movable Type configuration file was not found”(没找到Movable type的配置文件),这个文件将会在后续步骤中自动生成。将测试页面往下来,查看下服务器是否具备了所有MT运行必需的模块(Required mole和Data storage mole)。如图3。正确安装XAMPP将会提供所有MT必需模块。如CGI,尘核卜mysql。图3 MT测试派穗页面-2 如果是手动编辑好mt-config.cgi的话,将会在网页最后显示“Movable Type System Check Successful”的提示。如图4:图4 MT测试页面-3 5. 输入:http://localhost/cgi-bin/MT-4.0-en/mt-wizard.cgi,开始配置MT。将会出现如图5 Welcome界面,要求输入mt-static所作目录。我们刚才将mt-static文件夹放在htdocs下面,所以只需简单输入/mt-static即可。 图5 输入mt-static路径 点击Begin开始配置MT。MT首先会检查所需模块是否都有。一切顺利将有图6提示“All required Perl moles were found”,所需Perl模块已找到。图6 MT模块检查结果 点击Continue开始进行数据库配置。如图7。 图7 开始配置数据库 由于我们还未建立数据库,所以暂且撇开MT,先用XAMPP自带的phpmyadmin来建立数据库。如果您有已现成数据库,请直接跳到步骤7。 6. 建立数据库在地址栏中输入:http://localhost/phpmyadmin/ ,启动phpMyadmin连上mysql。在Create new database里面输入拟新建的数据库名称,如mt。Mysql connection collation默认为utf8_unicode_ci。如图8。然 图8 建立数据库 后点击Create建立名为mt的数据库,如图9。图9 mt数氏睁据库已建立 7. 配置数据库回到MT配置页面,在图7的下拉菜单中选中Mysql database,依次输入服务器地址,默认localhost,数据库名称,如mt,用户名和密码。xampp的默认数据库用户名是:root,密码为空。如果您有已建好数据库,请在此输入数据库名称,用户名和密码。 图10 输入数据库信息 点击Test Connection测试数据库连接。连接正确的话,将会有图11界面出来提示”Your database configuration is complete”,您的数据库已配置完毕。图11 数据库配置完毕 8. 配置邮件以及生成mt-config.cgi文件接着开始配置邮件。xammp默认不支持sendmail,(在MT的测试页面中也可以看出,在可选模块里面),无需进行邮件配置不影响MT的安装。所以邮件配置不必选择,直接点击Continue略过。如图12。 图12 配置邮件 图13是要求配置临时目录,默认是C:\Windows\Temp,请按默认设置,或自行新建一个文件夹,然后输入该文件夹路径。图13 配置临时目录 点击Contine,MT会检查是否存在该目录,如果没有目录,会有出错提示。一切正常,则会将以上配置写入到mt-config.cgi文件中,并将该文件放置到MT-4.0-en目录(MT的安装目录)下。如图14。图14 生成mt-config.cgi 至此,已完成MT的运行配置了,下面将开始配置博客。 9. 博客配置点击图14中的Continue将开始配置博客,如用户名,密码,博客名称,地址等。 在图15中输入用户名,显示名称,email地址,语言(无中文),密码和找回密码的提示语之类的用户信息。图15 输入用户信息 图16中输入博客名称,地址,发布地址和时区。默认的博客地址是http://localhost/BLOG-NAME,我将BLOG-NAME改为mt-demo,请在xampp\htdocs目录下手动建立mt-demo文件夹。您亦可以将BLOG-NAME改为自己喜欢的名字,但切记要在htdocs手动建立同名文件夹。图16 设置博客信息 点击Finish install后,MT将开始更新数据库。最终出现Sign in to Movable Type。如图17。 图17 生成数据库 恭喜,已成功安装MT4.0,点击Sign in to Movable Type按钮将会打开MT控制面板。如图18。控制面板中的标签页比较少,只有My First Blog(博客名)和Write Entry(写文章),不像WP有一整排。点击每个下拉箭头会出现子菜单。图18 MT后台界面 点击 Write your first post来发布第一篇文章,如图19。输入标题,内容,标签,目录等,点击Save就可以发布了。图19 新建文章 点击菜单栏最后一个类似页面的小按钮查看博客。默认的主题是红色的。如图20。 图20 默认主题 MT4.0自带了10个模板,都是3栏的页面布局。可以在菜单栏中,design-style进入主题管理页面。如图21。图21 更改主题-1 点击左边的Default Styles,然后在中间选中自己中意的模板。点击Apply Design按钮即可替换模板。

❹ ios xmpp demo 怎么跑起来

服务端随便找一个就行,比如Openfire。。 然后找个支消散拿持XMPP聊天的App玩一下,向Spark这样的。。连服务掘野端测试一下。。 然后拿搭那个XMPPFramework自身就有个很简单的Demo。。看一下就好了~

❺ 要做一个类似于微信或者QQ的Android、ios的聊天应用,请问服务器端用什么技术或开源框架比较好

即时聊天通用的协议是 XMPP,基于这个协议有一套java开源的服务端 openfire,可以快速的搭建一套即时聊天服务端。
但是现在有不少云即时通讯服务。例如
容联云通讯、云之讯、环信、融云
这些云服务提供了api,我们基于他的api开发很容易实现自己的即时聊天软件。服务端,服务器都不用我们自己管了,极大的节省了成本和开发周期。而且这些云服务基础服务都是免费的。

建议用第三方的云服务实现。

❻ XMPP协议(IM)

XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

全称:可扩野或扮展通讯和表示协议

简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。XMPP is the IETF's formalization of the base XML streaming protocols for instant messaging and presence developed within the Jabber open-source community in 1999

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

XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分;

核心的XML流传输协议

基于XMLFreeEIM流传输的即时通讯扩展应用

XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。

XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整,完善等先进性。

XMPP的扩展协议Jingle使得其支持语音和视频。

XMPP的官方文档是RFC 3920.

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

传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。

以文档的观点来看,客户端或服务器发送的所有XML文本连缀在一起,从<stream>到</stream>构成了一个完整的XML文档。其中的stream标签就是所谓的XML Stream。在<stream>与</stream>中间的那些<message>...</message>这样的XML元素就是所谓的XML Stanza(XML节)。XMPP核心协议通信的基本模式就是先建立一个stream,然后协商一堆安全之类的东西,中间通信过程就是客户端发送XML Stanza,一个接一个的。服务器根据客户端发送的信息以及程序的逻辑,发送XML Stanza给客户端。但是这个过程并不是一问一答的,任何时候都有可能从团凯一方发信给另外一方。通信的最后阶段是</stream>关闭流,关闭TCP/IP连接。

目前不少IM应用系统如:Google公司的Google Talk以及Jive Messenger等开源应用,都是遵循XMPP协议集而设计实现的,这些应用具有很好的互通性。

❼ 什么是xmpp协议,它的工作原理是什么

xmpp是一种基于xml的协议,它继承了在xml环境中灵活的发展性。因此,基于xmpp的应用具有超强的可扩展性。经过陆差扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系猜李统和基于地址的服务等应用程 序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

在IETF 中,把IM协议划分为四种协议,即即时信穗悉迟息和出席协议(Instant Messaging and Presence Protocol, IMPP)、出席和即时信息协议(Presence and Instant Messaging Protocol, PRIM)、针对即时信息和出席扩展的会话发起协议(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions, SIMPLE),以及可扩展的消息出席协议(XMPP)。

❽ XMPP 协议工作流程详解

XMPP 核心协议 xmpp.org/rfcs/rfc392…

XMPP 要点.

第一步: 打开 stream

Client: 客户端发送打开 stream 的片段到服务器, 请求一个新的 session.

这里 “example.com” 是客户端试图连接的服务器的域名.

Server: Server 返回 XML stream, 以stream:freatures 开头, 包含要求 TLS 或者 SASL 协商谈判之一, 或者2个都要求.

第二步: 加密和认证.

2.1 如果服务器需要 TLS 交涉.

Client: 客户端发送 STARTTLS 到服务器.

Server: 服务器返回消息显示 TLS 已被允许:

或者 TLS失败了:

在失败的情况下, 服务器会关闭 TCP 连接.

Client: 如果 TLS 已被服务器正确处理, 客户端发送请求一个新的 session:

Server: 服务器响应一个 XML stream, 指示是否需要 SASL 交涉.

2.2 SASL 交涉

Client 客户端需要选择一个服务器上有效的认证方式来携带SASL交涉数据, 上面的情况, “DIGEST-MD5“, “PLAIN” 和蚂简 “EXTERNAL” 是一些可选项.

“PLAIN” 认证模式是三者之中最简单的了. 它是这样工作的:

Client: 客户端按照自己选择的认证模式发送一个将用户名和密码以base64编码的 stream. 用户名和密码按这种格式组织:

例如我想以用户名为“ [email protected] ”登录, 密码是“mirror”. 那么, 在进行base64编码之前, 用户名和密码按照上面的格式组织为一个新的字符串,“mbedmirror”, 再进行base64编码, 得到字符串“AG1iZWQAbWlycm9y”.

然后, 客户端发送下列扮春 stream 到服务器.

Server: 如果服务器接受了认证信息, 服务器会发回 带 “success” 标签的 stream.

或者:

Server: 如果密码和用户名不匹配, 或者上面的base64编码有错误, 服务器发回错误信息的 stream.

“DIGEST-MD5” 认证模式的具体方法可以在这里找到: www.ietf.org/rfc/rfc2831… .

第三步: 资源绑定(可选)

Client: 客户端要求服务器绑定一个资源(可以理解为客户端的类型, 比如电脑, 手机, Web应用等):

或者

Client: 客户端自己绑定一个资源:

Server: 服务器发回另外一个片段, 如果“type” 标签的内容是“result”, 说明绑定是成功的, 否则说明绑定失败.

第四步: 请求一个新的session

在 SASL 交涉完成之后或者可选资源绑定之后, 客户端必须建立一个 session 来开始即时消息发送和接收.

Client: 客户端向服务器发送请求:

Server: 服务器发回一个 片段表明 session 是否成功创建.

创建成功的消息类似于:

如果服务器未能创建 session, 服务器将会回复一个如下消息或者其他类型的错误消息.

第五步: 客户端和服务器交换 XMPP 片段

如果以上步骤均成功完成, 那么客户端就可以发送 XMPP 片段到服务器和接收 XML stream了.

客户端可以发送 片段来向服务器请求 roster 或者其他信息. 并可以使用 片段来改变客户端的 presence 状态(比如在线, 离开等)

即时消息和其他的负载可以通过发送 片段来完成.

第六步: 关闭 stream

最后, 如果客户端想要结束聊天和关闭 XMPP session, 客户端需要发送一个关闭厅物耐 stream的片段到服务器.

然后, 服务器将会改变客户端的 presence 状态为 “Offline” , 并且关闭 和客户端的 TCP 连接.

❾ 如何用mac os x server搭建网站

Apache 就内置在 Mac OS X Server 中,它是互联网上使用范围最广的 HTTP 服务器。 Apache 已预先配置好默认设定,因此,部署起来如同启动 Web 服务一样简单。任何存储在服务器默认网站文件夹中的 HTML 内容,都将自动通过互联网呈现。有丰富经验的网站管理员可以在 Mac OS X Server 的 Server Admin 应用程序中使用 Apache 2.2。Mac OS X Server 为经验丰富的网站管理员在 Server Admin 应用程序中使用 Apache 2.2 提供支持。

如果你还是不会,那你给我发消息,我有 PDF 版的详细攻略,从 MySQL 的安装到最后的完成。

并且我还有 Apple 官方提供的虚拟机配置等精彩视频,我看了一下,不到 1 分钟就配置出了一个强大的网站,并也还支持子域名绑定。

❿ 手机系统推送是什么意思,不要用专业术语解释,请举个例说一下,谢谢。

推送系统最早其实是黑莓的专利,后来ios非常聪明的学去了,而且学的很好。在推送之前很多智能系统只能通过轮询的方式不断定期向服务器询问是否有新信息,往往费电和费流量。
ios建立了一个统一的服务器,APNS(Apple Push Notification Service),简单的说,我们卜兆唤在手机上接收到的所有推送信息都来源于这个服务器,每一台ios设备都有一个独立的识别码相当于。那么当你用这个登录了某个软件(比如米聊)后,就连接到了米聊的服务器上,在推送体系中这个目标服务器被称作Provider。接着你看完消息,退出米聊后,进程结束,但是此时你这个的登录状态并没有在Provider里注销,而是保留了。因此如果有人给你的米聊发送了信息,就会触发Provider的行为,但是由于你关闭了米聊,所以它无法直接向你的手机发送消息,于是它转而向APNS发送信息,顺便带着你的。然后万能的APNS就顺着找到你,然后把消息塞到你的手机里。只要你ios设备的推送不关闭,流量不关闭,那么你的设备就会一直和APNS保持连接,从而达到24小时接受推送信息的目的。有人应该已经明白了这样做的好处,因为你只和一个服务器产生连接,省电省流量。另外由于APNS服务器的广域和强大的稳定性,以及该服务在ios属于固定的API接口,使得整个推送系统稳定而健壮。不过顺便一提ios的邮件推送是另一套完整的PushMail系统,和这个无关。
那么为什么安卓的推送没有ios给力?其实在Android2.2之后,谷歌也型凯建立了类似ios一样的推送系统——Android Cloud to Device Messaging(C2DM),但是为什么这个系统没有APNS给力呢?主要是C2DM的服务器对于国内来说是外面的东西,由于谷歌在国内受到了一些格外的照顾,这个服务器也就显得不那么给力,这是国内厂商多不选择C2DM的重要原因。另外Android开源和API的开放提供了其它推送的选择。在C2DM不给力的情况下,一些软件选回了老的轮询方式的(凡是软件里需要你自己选择多长时间检查一次有没有更新的软件都是轮询方式)来提供消息,这种方式有相当的不稳定因素,在机器内存紧张的情况下驻留的http服务容易被回收,还更费电费流量。更多软件厂商则选择了利猜耐用Android的自由的XML的API接口自己搭建XMPP服务器来直接向用户推送消息,缺点同样是驻留的服务容易被回收,尤其对于小内存机器和在内存管理上时常有技术性溢出(回收机制缺陷)的MIUI来说如果不锁定服务的内存那么就可能出现收不到推送的情况。总体看来由于安卓推送机制的缺陷和进程的不统一(你装米聊微信微博就等于后台有了三个推送进程),整体上的健壮性得不到保证,也更加费电和费流量,与ios统一而健壮的推送服务有了很大的差距。
综上所述安卓系统的推送问题是并不是MIUI小组可以企及的,就算MIUI强势到能够建立一个墙内的推送服务器,也需要说服众多的软件厂商去使用他们的服务器,这就意味着需要有“米聊MIUI版”“微博MIUI版”,更加加剧了安卓生态圈的分裂。
至于在Android4.0时代安卓能否改变这个现状我只能持谨慎乐观态度,因为其开源性和向下兼容的API整合使得这种现状更有可能延续下去而不是改善。

热点内容
如何找出苹果手机已连接wifi密码 发布:2025-05-13 23:22:52 浏览:262
ie10缓存 发布:2025-05-13 23:10:09 浏览:458
安卓手机图标怎么设置提示 发布:2025-05-13 23:07:56 浏览:809
香蕉FTP下载 发布:2025-05-13 23:07:11 浏览:940
for循环sql语句 发布:2025-05-13 22:45:49 浏览:19
python实用代码 发布:2025-05-13 22:19:41 浏览:843
dede数据库的配置文件 发布:2025-05-13 22:19:08 浏览:970
给字符加密 发布:2025-05-13 22:12:32 浏览:975
数据库系统实现答案 发布:2025-05-13 22:11:57 浏览:143
哪个软件可以共存安卓 发布:2025-05-13 22:10:15 浏览:555