即时通讯的概述

来源:互联网 发布:json测试工具 编辑:程序博客网 时间:2024/06/05 06:39

优势:
     Instant Messenger当前IM几乎作为每个上网者必然使用的工具,及时通信软件,就是大家使用的QQMSN MessengerGtalk等等。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送(比如MSN)。Gtalk就是基于XMPP协议的一个实现,其他的则不是。 XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本
  • XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸如AIMQQ等有功能完整,完善等先进性。
XMPP的扩展协议Jingle使得其支持语音和视频

XMPP:
  • 全称:可扩展通讯和表示协议XMPPJabber协议为基础,而Jabber即时通讯中常用的开放式协议。XMPP(可扩展消息处理现场协议)是基于可扩展标记语言XML)的协议 ,核心的XML传输协议
  • XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。借助于XML易于解析和阅读的特性,使得XMPP的协议能够很好的完成数据的传输。
  • XMPP网络的架构和电子邮件十分相像;XMPP核心协议通信方式是先创建一个streamXMPPTCP传递XML数据流,没有中央主服务器。任何人都可以运行自己的XMPP服务器,使个人及组织能够掌控他们的实时传讯体验。
  • 任何XMPP协议的服务器可以独立于公众XMPP网络(例如在企业内部网络中),而使用SASLTL等技术的可靠安全性,已内置于核心XMPP技术规格中。
             XMPP协议是自由、开放、公开的,并且易于了解
             设想既然XMPP协议是一个公开的协议,那么每个企业都可以利用它来开发适合本身企业工作,提高自身生产效率的IM;甚至,你还可以在网络游戏中集成这种通                        信软件,不但让你可以边游戏边聊天,也可以开发出适合游戏本身的IM应用,比如说一些游戏关键场景提醒功能,团队语音交流等等都可以基于IM来实现

             说到底:xmpp是一个应用层协议,其底层(传输层和网络层)依然是Socket通信。换句话说,xmpp是建立在Socket通信基础上的。
             XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生
             (1)域名(domain identifier)(2)节点(node identifier)(3)(resource identifier).它的格式是node@domain/resource
  • XMPP中定义了3个顶层XML元素:
  • MessagePresenceIQ.
    • 传统的http是请求之后,去服务器回去数据
    • xmpp是,服务器给客户端数据!
    • 用户只需要明白它接收的类型,并理解它返回的类型,就可以很好的利用xmpp来进行数据通讯


  • Smack 是一个XMPP协议的Java实现,提供一套可扩展的API,不过有些时候,你还是不得不使用自己定制发送的XML文件内容的方式来实现自己的功能

    • 一、Smack是什么
    • Smack是一个开源,易于使用的XMPPjabber)客户端类库。Smack API, 是一个 JavaXMPP Client Library,也是由Jive Software开发。 优点:编程简单。 缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大,1台机器只能模拟有限(数千个)客户. smack是一个用 java写的XMPP客户端代码库,spark的核心.
    • 二、Smack的优点
    • 1:Smack是一个简单的,功能强大的类库。给用户发送信息只需三行代码便可完成XMPPConnectionconnection = newXMPPTCPConnection(”jabber.org“);connection.login(”mtucker”, “password”);connection.createChat(”jsmith@jivesoftware.com“).sendMessage(”Howdy!”); 2:不会强迫你向其他类库那样,在信息包层面进行编码。它提供了更加智能化的类比如Chat,能使你的工作更富效率。3:不需要你熟悉XMPP XML格式,甚至是XML格式。4:易于实现机-机对话。5:Apace License下的开源软件。你可以把它用于你的商业或非商业程序。 好的不废话了,进入咱们的正题。aSmack4.0后和Smack基本差异也没那么大了,现在来说说aSmack4.0后版本的配置和使用
      • 1、需要注意点是注册是需要异步操作否则连接异常2aSmackADT要求蛮高,最好是23及以上,否则出现各种奇葩错误。

    • SASL  的认证方式包括
    • 1. PLAINplain是最简单的机制,但同时也是最危险的机制,因为身份证书(登录名称与密码)是以base64字符串格式通过网络,没有任何加密保护措施。因此,使用plain机制时,你可能会想要结合tls

       

    • 2.DIGEST-MD5:使用这种机制时,clientserver共享同一个隐性密码,而且此密码不通过网络传输。验证过程是从服务器先提出challenge(质询)开始, 客户端使用此challenge与隐性密码计算出一个response(应答)。不同的challenge,不可能计算出相同的response;任何拥 有secret password的一方,都可以用相同的challenge算出相同的response。因此,服务器只要比较客户端返回的response是否与自己算 出的response相同,就可以知道客户端所拥有的密码是否正确。由于真正的密码并没有通过网络,所以不怕网络监测。

       

    • 3.anonymous:  anonymous机制对smtp没有意义,因为smtp验证的用意在于限制转发服务的使用对象,而不是为了形成open relaysasl之所以提供这种机制,主要是为了支持其他协议。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 自来水出水量小怎么办 开水龙头水管响怎么办? 海里游泳遇到暗流怎么办 网站运营权出问题怎么办 在澳门超期出关怎么办 妹妹初中毕业谈恋爱怎么办 原告的证据造假怎么办 慕课考试不及格怎么办 大学高数不及格怎么办 对方拒绝司法调解怎么办? cas授权已过期怎么办 英法巡航南海中国怎么办 wps文件不能改怎么办 wps不能删除内容怎么办 word文件被锁定怎么办 word批注不显示怎么办 wps怎么办把修订取消 审阅密码忘了怎么办 psv关机后怎么办刷 被螃蟹扎了怎么办 被海鲜划伤出血怎么办 海域使用证缴纳金没交怎么办 海峡中线 金门海域怎么办 对工作失去热情怎么办 取款机多出钱怎么办 风扇声音很响怎么办 稳压器输出没电怎么办 稳压器不稳10压怎么办 dnf凯蒂不见了怎么办 马桶里掉进塑料瓶盖怎么办 塑料瓶子盖子打不开怎么办 按压瓶盖坏了怎么办 瓶盖拧错位了怎么办 红酒盖子开不了怎么办 胶盖罐头打不开怎么办 玻璃瓶的塑料盖打不开怎么办 香水按压不出来怎么办 电高压锅盖子打不开怎么办 杯子螺口错位怎么办 散粉盖子扭不开怎么办 玻璃瓶饮料盖子打不开怎么办