socket 连接和 Http 连接的区别

http 是基于 socket 之上的。socket 是一套完整的 tcp,udp协议的接口。

  • HTTP协议:简单对象访问协议,对应于应用层,HTTP协议是基于TCP连接的。
    • tcp协议:对应于传输层。
    • ip协议:对应于网络层。

TCP/IP是传输层协议,主要解决数据如何在网络中传输,而HTTP协议是应用层协议,主要解决如何包装数据。

Socket是对TCP/IP 协议的封装,它本身不是协议,而是一个调用接口,通过Socket,我们才能使用TCP/IP协议

  • http连接:就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉。
  • socket连接:就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉,但是由于各种环境因素可能会使连接断开。

http是客户端用http协议进行请求,发送请求时候需要封装http请求头,并绑定请求的数据,服务器一般有web服务器配合。http请求方式为客户端主动发起请求,服务器才能给响应,一次请求完毕后则断开连接以节省资源。服务器不能主动给客户端响应。iPhone主要使用的类是NSUrlConnectionsocket是客户端跟服务器直接使用socket“套接字”进行拼接,并没有规定连接后断开,所以客户端和服务器可以保持连接,双方都可以主动发送数据。一般在游戏开发或者股票开发这种即时性很强的并且保持发送数据量比较大的场合使用。主要类是CFSocketRef。

  • UDP:是用户数据报协议:主要用在实时性要求高以及对质量相对较弱的地方,但面对现在高质量的线路容易丢包。
  • TCP:是传输控制协议,是面向连接的,,运行环境必然要求其可靠性不可丢失包有良好的拥塞控制机制。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值