博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
socket和http有什么区别?
阅读量:6860 次
发布时间:2019-06-26

本文共 631 字,大约阅读时间需要 2 分钟。

socket是网络传输层的一种技术,跟http有本质的区别,http是应用层的一个网络协议。使用socket技术理论上来讲,按照http的规范,完全可以使用socket来达到发送http请求的目的,只要发送的数据包按照http协议来即可

 

Socket和http的区别:

Socket是长连接,http是短连接

Socket是双向通信,http是单向的,只能客户端向服务器发送数据

Socket的数据完全由自己组织,http必须按照http协议来发送

 

Socket的使用场景:

1.客户端频繁请求服务器,如股票应用,需要一直向服务器请求最新的数据,如果使用http,那么第一,频繁请求,就会频繁连接,造成服务器压力巨大,如果使用socket,一次连接,不会消耗服务器太多资源。第二,频繁发送,返回数据,如果使用http,因为http协议的限制,发送的数据包中包含了很多的请求头,请求行等http协议必须带的数据,发送的数据量比socket大很多,socket只需要请求和返回需要的数据即可,如股票应用中,只需要返回股票的最新价格即可,及时性更高

2.客户端和服务器互相发送数据,如聊天应用,需要客户端上传聊天内容,同时,别人给你发消息,服务器也能主动把别人发送的消息发送给你

 

需要使用socket技术的场景:网络游戏、即时通信、股票软件、自己实现推送机制.

转载于:https://www.cnblogs.com/samsara-yx/p/7884713.html

你可能感兴趣的文章
js去除空格,判断是否包含
查看>>
css3 背景色 实现边框渐变运动动画
查看>>
c#实现常用排序算法
查看>>
rails中输出excel
查看>>
leetcode504
查看>>
消息中间件系列三:使用RabbitMq原生Java客户端进行消息通信(消费者(接收方)自动确认模式、消费者(接收方)自行确认模式、生产者(发送方)确认模式)...
查看>>
软件过程与项目管理(第七周作业)
查看>>
Java-生成验证码图片(自定义内容,尺寸,路径)
查看>>
Word2007:如何在竖版(纵向)页面中间插入横版(横向)页面
查看>>
CentOS中配置xrdp,通过微软远程桌面访问CentOS桌面
查看>>
Java中关于nextInt()、next()和nextLine()的理解
查看>>
Flask的基本操作知识
查看>>
Android -- 真正的 高仿微信 打开网页的进度条效果
查看>>
ArrayList<HashMap<String, Object>>使用示例!
查看>>
Windows Azure 网站开发Stacks支持
查看>>
Android 5.0新控件——FloatingActionButton(悬浮按钮)
查看>>
每天一个linux命令(6):dos2unix unix2dos
查看>>
ObjectQuery查询及方法
查看>>
使用jemeter手工编写注册、登陆脚本 运用 fiddler (三)
查看>>
uva 10288 Coupons (分数模板)
查看>>