什么时候采用socket通信,什么时候采用http通信

什么时候采用socket通信,什么时候采用http通信。
问题1:什么是socket通信,什么是http通信。

  1. socket通信是对TCP/IP协议的封装(封装了tcp/ip协议让我们操作更加方便),http协议是应用层协议。

问题2:两者的区别

  1. Http连接:http连接就是所谓的短连接,及客户端向服务器发送一次请求,服务器端相应后连接即会断掉。
  2. socket连接:socket连接是长连接,理论上客户端和服务端一旦建立连接,则不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该链接已释放网络资源。所以当一个socket连接中没有数据的传输,那么为了位置连续的连接需要发送心跳消息,具体心跳消息格式是开发者自己定义的。

问题3:使用场景

  1. Http连接使用的是“请求一响应”的方式,当请求连接数少,或者一个请求一个响应这种场景可以考虑Http请求,比如web应用。
  2. socket连接是长连接,适合请求较多,或者服务器端主动向客户端推送数据这种场景,比如QQ等。

你可能感兴趣的:(日常为什么)