什么时候用http网络连接,什么时候用socket网络连接呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么时候用http网络连接,什么时候用socket网络连接呢?相关的知识,希望对你有一定的参考价值。

看了论坛的网络通信部分的知识,有了一个问题,就是我们在编程的时候什么时候使用http,什么时候使用socket呢?? 还有个就是商用软件在网络连接上 和我们平时练习时有什么需要注意的区别呢??小小新手一枚,懂得可以讲一下嘛。。。。。

大多数情况下都是使用Http协议做网络通信的,少数情况下,如扣扣之类的即时通讯,就是用Socket建立长链接Http一般都是短连接的,即客户端和服务端通讯一次后,服务端就关闭连接Socket是长连接的,客户端和服务端可以一直保持通讯商用软件上和平时你练习的没有本质区别,只是商用更将就复用、安全、健壮。我就说下健壮,是指有网络连接超时处理,网络通讯异常处理等,数据解析错误处理,这可比平时练习的要考虑了多了去了,楼主!希望能帮助到你! 参考技术A 1.当你需要支持HTTP协议的时候,使用HTTP链接,当你不需要支持HTTP协议的时候,就可以不用http链接。2.http底层也是socket,只不过是支持了http协议的socket。3.一般即时聊天类软件用java.nio包下的相关类(非阻塞)。4.另外,http1.1协议是支持长连接的。通过设置connection头是keep alive实现(当然服务端也要支持http1.1)。5. 目前大多数浏览器都支持http1.1。这样在页面中存在很多待下载资源(如图片)的时候就不用频繁的建立链接了。 参考技术B 在传输大量数据的时候用socket,少量数据或者动作是用http

以上是关于什么时候用http网络连接,什么时候用socket网络连接呢?的主要内容,如果未能解决你的问题,请参考以下文章

java Socket 长连接后,如何获取发来的数据

计网 - Socket 编程:epoll 为什么用红黑树?

Http协议简易分析

Jmeter 复用长连接 解决端口占用的问题

为什么需要http转socket,不直接用http

电脑连接网络就卡