XMPP基础
概要
1、即时通讯技术简介
2、XMPP诞生的由来
3、XMPP特点
4、XMPP的基本结构
5、XMPP工作原理
6、XMPP的优缺点
7、OSI七层模型
8、IP地址、端口号、传输协议
9、TCP和UDP的区别
10、Socket机制
1、即时通讯技术简介
1、 即时通讯技术(IM -- Instant Messaging)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在
2、 其中输入信息并让交谈双方都看到交谈的内容
3、 有许多的IM系统,如AOL、Yahoo IM、 MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传 输协议
4、XMPP前身是Jabber(1998年),是一个开源组织定义的网络即时通信协议
2、XMPP诞生的由来
设计一款全世界都使用的即时通讯协议,无论使用什么即时通讯软件,都可以互联互通
3、XMPP特点
1、XMPP是基于XML的协议
2、点对点
3、即时通讯
4、XMPP的基本结构
1、XMPP是一个典型的C/S架构
2、XMPP中定义了三个角色,客户端,服务器,网关
3、服务器同时承担了客户端信息记录,连接管理和信息的路由功能
4、基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML流
5、XMPP工作原理
1.节点连接到服务器
2.服务器利用本地目录系统中的证书对其认证
3.节点指定目标地址,让服务器告知目标状态
4.服务器查找、连接并进行相互认证
5.节点之间进行交互
6 、 XMPP的优缺点
1、优点:开放、安全、分散、可扩展
2、缺点:数据负载过重XML、没有二进制传输
7、OSI七层模型
物理层:主要定义物理设备的标准,如网线的接口类型,各种传输介质传输速率等。主要作用是传输比特流(由1、0转化为电流的强弱进行传输,到达目的地后在转为1、0)这一层的数据叫做比特(bit)主要设备是集线器。
数据链路层:主要是将物理层接收来的数据进行MAC地址的封装与解封装,常把这一层的数据叫做帧。主要设备是网卡和交换机。
网络层:选择合适的网间路由交换节点,确保数据的及时传送。将数据链路层传来的数据进行IP地址的封装与解封装。常把这一层的数据叫做数据包,主要设备有路由器。
传输层:定义了一些传输数据的协议和端口,如TCP、UDP协议。
会话层:通过传输层建立数据传输通道,在系统之间发起会话和接受会话请求。
表示层:主要对接收的数据进行解释和解压缩。把计算机能够识别的东西转化为人能够识别的东西(如图片,声音等)。
应用层:主要是一些终端的应用,比如FTP(各种文件下载)、浏览器,qq等
8、IP地址、端口号、传输协议
IP地址:
1、网络中的设备唯一标识符
2、不易记忆,通常可以用主机名
3、本地回环地址:127.0.0.1,主机名:localhost
端口号
1、应用的标识符
2、有效端口:0-65535,其中0-1024有系统使用或者系统保留。
传输协议(用什么方式进行交互)
1、通讯的规则
2、常见协议:TCP、UDP
9、TCP和UDP的区别
TCP:传输控制协议,长连接(和打电话很相似)
1、建立连接,形成通信管道。
2、必须经过三次握手完成链接,是可靠的传输协议。
3、传输过程中数据大小不受限制。
4、必须建立连接,效率就会低
UDP:用户数据包协议(和发短信很相似)
1、将数据的源和目的封装在数据包,不需要建立连接。
2、正因为不需要链接,所以是不可靠的协议
3、传输数据在64K之内
4、不需要建立连接所以,速度快。
http是短连接,TCP是长连接,即时通讯要使用长连接
10、Socket机制
1、Socket是网络服务的一种机制
2、通信两端都是Socket
3、网络通信其实就是Socket间的通信
4、数据在两个Socket之间通过IO传输
socket是"打开—读/写—关闭"模式的实现,建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket,另一个运行于服务器端,称为ServerSocket。
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。
服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。
客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。
XMPP基础的更多相关文章
- XMPP 基础
CHENYILONG Blog XMPP 基础 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong ...
- XMPP 基础 (转载)
技术博客 http://www.cnblogs.com/ChenYilong/ 新浪微博 http://weibo.com/luohanchenyilong Fullscreen XMPP 基础 ...
- (转)OpenFire源码学习之一:XMPP基础知识
转:http://blog.csdn.net/huwenfeng_2011/article/details/43412919 前面两张主要讲基础部分.XMPP与Mina有部分抄写于互联网的其他大事 X ...
- 基于XMPP的即时通信系统的建立(一)— XMPP基础概念
相关背景 IM(Instant Messaging)正在被广泛使用,特别是公司与它们的客户互动连接方案以及互联网与Web2.0相关的应用.为了解决即时通信的标准问题,IETF(互联网工程任务组 The ...
- 即时聊天IM之一 XMPP协议简述
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综述: ...
- iOS,XMPP本地环境搭建和框架使用
1.XMPP的MySQL和openfire环境配置 2.XmppFramework框架导入和介绍 XMPP的MySQL和openfire环境配置 1.下载mysql安装 mysql下载 打开MySQL ...
- XMPP即时通讯
XMPP:XMPP是基于XML的点对点通讯协议,The Extensible Messaging and Presence Protocol(可扩展通讯和表示协议). XMPP可用于服务类实时通讯,表 ...
- iOS - XMPP 的使用
1.XMPP XMPP 是一个基于 Socket 通信的即时通讯的协议,它规范了即时通信在网络上数据的传输格式,比如登录,获取好友列表等等的格式.XMPP 在网络传输的数据是 XML 格式. 开发架构 ...
- Xmpp获取离线消息
文章只是选取了其中一段,无XMPP基础的人可能看起来有点复杂; 假设我们注册了一个用户,用户名叫shimiso,那么我们如何让shimiso这个用户一登陆就取到离线消息呢? PPConnection. ...
随机推荐
- POJ-1330--Nearest Common Ancestors(离线LCA)
LCA离线算法 它需要一次输入所有的询问,然后有根节点开始进行深度优先遍历(DFS),在深度优先遍历的过程中,进行并查集的操作,同时查询询问,返回结果. 题意: 求A ,B两点的最近公共祖先 分析: ...
- 【转】寻找最好的笔记软件:三强篇(EverNote、Mybase、Surfulater) (v1.0) (
原文网址:http://blog.sina.com.cn/s/blog_46dac66f01000b57.html 寻找最好的笔记软件:三强篇(EverNote.Mybase.Surfulater) ...
- wpa_cli和wpa_supplicant使用,配置无线AP名和密码,静态ip地址
配置静态ip方法分享:通过串口命令行输入如下命令: 1. 添加无线网络接入点(AP) 及其 密码:# wpa_cli -p /data/misc/wpa_supplicantwpa_cli v0.5. ...
- 斜率优化(CDQ分治,Splay平衡树):BZOJ 1492: [NOI2007]货币兑换Cash
Description Input 第一行两个正整数N.S,分别表示小Y 能预知的天数以及初始时拥有的钱数. 接下来N 行,第K 行三个实数AK.BK.RateK,意义如题目中所述 Output 只有 ...
- Sort Colors —— LeetCode
Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...
- HttpContext.Current.Cache 和 HttpRuntime.Cache 区别
原文地址:http://blog.csdn.net/avon520/article/details/4872704 .NET中Cache有两种调用方式:HttpContext.Current.Cach ...
- 《编写高质量代码——Web前端开发修炼之道》读后随笔
结构样式行为的分离 结构标准包括XML标准.XHTML标准.HTML标准:样式标准有CSS标准:行为标准主要包括DOM标准和ECMAScript标准. 通常的项目会按照如上的方式进行分离,但自己曾今做 ...
- Hdu 3887 Counting Offspring \ Poj 3321 Apple Tree \BZOJ 1103 [POI2007]大都市meg
这几个题练习DFS序的一些应用. 问题引入: 给定一颗n(n <= 10^5)个节点的有根树,每个节点标有权值,现有如下两种操作: 1.C x y 以节点x的权值修改为y. 2.Q x ...
- 大数据分析神兽麒麟(Apache Kylin)
1.Apache Kylin是什么? 在现在的大数据时代,越来越多的企业开始使用Hadoop管理数据,但是现有的业务分析工具(如Tableau,Microstrategy等)往往存在很大的局限,如难以 ...
- OpenMP并行程序设计
1.fork/join并行执行模式的概念 2.OpenMP指令和库函数介绍 3.parallel 指令的用法 4.for指令的使用方法 5 sections和section指令的用法 1.fork/j ...