网站首页 > 教程分享 正文
PS:创作不易,感谢阅读,希望对读者有所帮助,喜欢的话可以点赞、收藏、关注,作者会持续更新 Java 生态圈常见知识。黑色加粗为重点关注内容!
长连接、短连接
- 长连接
- 指在一个 TCP 连接上可以连续发送多个数据包
- 在 TCP 连接期间,如果没有数据交互,需要双方发送检测包,以维持连接
- 一般需要自己做在线维持
- 短连接
- 指双方有数据交互时,就创建一个 TCP 连接,数据发送完成后,就关闭此连接
- 短连接操作步骤是:连接 → 数据传输 → 关闭连接;
- 长连接通常就是:连接 → 数据传输 → 保持连接(心跳) → 数据传输 → 保持连接(心跳) → ……→ 关闭连接;
Socket
- 一个能够连接应用层和传输层之间的套件
- 应用程序,比如浏览器、电子邮件、文件传输服务器等产生的数据,会通过传输层协议进行传输,而应用程序是不会和传输层直接建立联系的,通过 socket 进行传输的
HTTP 和 TCP/IP 的关系
- TPC/IP 协议是传输层协议,主要解决数据如何在网络中传输,而 HTTP 是应用层协议,主要解决如何包装数据
- 在传输数据时,可以只使用传输层的 TCP/IP 协议,但如果没有应用层,便无法识别数据内容
- 若想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如 HTTP、FTP、TELNET 等
- WEB 使用 HTTP 协议作应用层协议,来封装 HTTP 文本信息,然后使用 TCP/IP 作为传输层协议将它发到网络上
HTTP 和 TCP/IP 的关系
- TPC/IP 协议是传输层协议,主要解决数据如何在网络中传输,而 HTTP 是应用层协议,主要解决如何包装数据
- 在传输数据时,可以只使用传输层的 TCP/IP 协议,但如果没有应用层,便无法识别数据内容
- 若想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如 HTTP、FTP、TELNET 等
- WEB 使用 HTTP 协议作应用层协议,来封装 HTTP 文本信息,然后使用 TCP/IP 作为传输层协议将它发到网络上
Socket 和 HTTP 的关系
- Http 和 Socket 完全是两个不同的概念
- Http 是应用层协议
- 而 Socket 本身并不是协议,它是对 TCP/IP 协议的封装,并提供调用的接口
- Http 要基于 Socket 实现
- 发起一个 HTTP 请求的过程就是创建一个 Socket 通信的过程
- Httpclient 也是基于 socket 的
- Socket 的出现是为了让程序员更方便地使用 TCP/IP 协议栈,是对 TCP/IP 协议的封装
猜你喜欢
- 2024-12-25 MySQL数据查询太多会OOM吗? mysql为什么数据量多查询就慢
- 2024-12-25 一次Dubbo拥堵的分析 dubbo遇到的问题
- 2024-12-25 Java程序员使用JSSE实现SSL/TLS安全套接字
- 2024-12-25 基于socket API之上的跨平台MQTT客户端源码分享
- 2024-12-25 Java编程-高并发情况下接口性能优化实践-提升吞吐量TPS
- 2024-12-25 解决QTcpSocket发送数据成功,但接收端接收不全的问
- 2024-12-25 在线客服(IM)系统源码分享 在线客服源码下载
- 2024-12-25 深入剖析阻塞式socket的timeout socket connect 阻塞
- 2024-12-25 推荐一个Java编写的长连接服务Netty-SocketIO
- 2024-12-25 Linux TCP RST情况 linux tcping
你 发表评论:
欢迎- 05-14C#开发串口通信实例及串口基础
- 05-14C#窗体多线程启动,暂停,继续,取消
- 05-14DotNet 入门:(一)环境安装
- 05-14C#中使用命名管道进行进程通信的实例
- 05-14使用C#编程判断某一年是否为闰年
- 05-14C#学习随笔—自定义控件(线,箭头等图形)
- 05-14UE4基础知识总结(三)
- 05-14C#使用 WinForms 实现打印基础操作
- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)