对于网络协议这一块,可能还不是很熟悉,前天看了些资料,先大概复述一下,当做复习了。毕竟学习要由浅入深
tcp/ip 协议是最为常见的传输层协议,主要解决数据如何在网络中传输。而socket是对tcp/ip协议的封装,提供了实现他们的相关接口(api),它本身并不是协议。换句话说对于开发人员是相关方法的实现,利于开发者进行相关的应用开发;
http: 是在tcp/ip协议层中属于应用层,主要解决如何包装数据。http是一种短连接,客户端和服务端任何一方断开连接,则一次连接就此结束。(http连接每次连接完成后都会主动地释放连接),所以在应用开发中可以用来做发送文件等相关功能.
tcp:tcp协议是一种高级协议,连接需要进行三次握手,握手期间不携带数据。tcp协议能够有有力地绑定数据,添加了排序和重发方法,保证数据包的的完整性,也能保证能够送达目的地。tcp是一种长连接。
udp:udp和tcp都是属于传输层的协议。当udp是无连接的面向数据的协议。就是说即使在没有连接的状况下同样会发送传输数据。因为省略了tcp协议中三次握手建立连接,所以效率要比tcp高。
ip:ip协议位于网络层,是一种低级的路由协议。能将数据分段成多个数据包通过网络发送。但并不能保证数据包的完整性也不能保证送到目的地。不能有力地绑定数据包。这一点和tcp刚好相反。
xmpp:应用层协议,基本用来开发即使通讯功能。同样也是建立在socket通信基础上的。由于继承了xml环境中灵活的发展性,所以他有很强的扩展性灵活性。机制: xmpp定义了三个顶层的元素: message precence iq
各数据传输方式的适用范围
Socket传输适用范围
基于Socket传输的特点:Socket 传输方式适合于对传输速度,安全性,实时交互,费用等要求高的应用中,如网络游戏,手机应用,银行内部交互等
基于Http协议传输的适用范围
基于http协议传输的特点:基于http协议传输方式适合于对传输速度,安全性 要求不是很高,且需要快速开发的应用。如公司OA系统,互联网服务等。