您的位置:首页 > 移动开发 > IOS开发

xmpp的一些常识

2015-06-18 10:20 148 查看
XMPP:基于XML 的点对点的即时通讯协议(以前叫jabber)
xmpp的扩展协议Jingle使得其支持语音和视频,但目前iOS不能用
谷歌力推这个协议,还做了个GTalk 2013.5又做了还聊但不支持xmpp协议
xmpp能实现即时通讯是因为他是长链接
http不能实现,因为他是短链接

 IM(Instant Messaging 即:即时通讯):不管用第三份还是xmpp写的,都叫即时通讯,他就是即时通讯
核心在于传输协议
网络通讯三要素:1.IP地址 2.端口号   3.传输协议

主机间的通讯:
物理层:定义一些设备的标准:比如网线 光纤传输速率,以比特的形式传到另一个网络
物理层--》数据链路层:会对mac地址进行解封装
数据链路层--》物理层:会对mac地址进行封装
数据链路层;有网卡和交换机
网络层:主要有路由器,做IP的寻址 (三层交换机:将数据链路层和网络层和在了一起)
传输层:主要有一些传输协议和端口
会话层:进行主机间的通话
表示层:做数据解析的
应用层:就相当于手机的应用了。将表示层解析出来的二进制数据转换成图片/视频之类的进行显示。
不同网络之间都有相同的层次结构 他们自己传输通过协议
同一节点相邻层间通过接口通信

TCP/UDP
TCP(传输控制协议)  UDP(用户数据报协议)
1.建立连接,形成传输数据的通道
2.再连接中进行大数据传输(数据大小不受限制)
3.通过三次握手完成连接,时可靠协议,安全送达
4.必须建立连接,效率会稍低
UDP(用户数据报协议)  比如:将短信放到线程里慢慢去发
1.将数据源和目的封装成数据包中,不需要建立连接
2.每个数据报的大小限制在64k之内
3.因为无需连接,因此事不可靠协议
4.不需要建立连接,速度快

socket(套接字)
1.socket就是为网络服务提供的一种机制
2.通讯的两端都是socket
3.网络通讯其实就是socket间的通讯
4.数据在两个socket间通过IO传输

查看IP通不通:
1.用ping:例如 ping  -c 4 192.168.21.136
2.用telnet:例如:telnet 192.168.21.136 808

netstat查看端口:
查找TCP连接服务和客户端IP端口:netstat -an -p tcp
UDP同理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xmpp ios开发