socket和http的主要区别

来源:互联网 发布:花生壳ping域名失败 编辑:程序博客网 时间:2024/05/22 09:16

什么是socket?

       Socket通常称为‘套接字’,用于描述IP地址和端口,是一个通信链的句柄。应用程序可以通过套接字向网络发送请求也可以响应网络请求,Socket即不是一个程序,也不是一种协议,而是操作系统提供的一种通信层的抽象API。

什么是http协议?

       Http协议即超文本传输协议,是建立在TCP协议之上的一种应用,主要模型就是客户端向服务器发送请求,并接收服务器返回数据。

Socket和Http的区别?

       1、Socket主要用于进程通信,时刻等待着ClientSocket的连接,一旦连接上双方即可以互相发送数据,直到双方连接断开,ServerSocket也可以主动连接ClientSocket,并向ClientSocket发送数据。双方都可以提出建立连接。

       2、而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。

       3、很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket连接,服务器就可以直接将数据传送给客户端;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,并断开连接,不能实现实时连接。故可以根据自己的需求选择某一种连接方式。


0 0
原创粉丝点击