通信协议 http、tcp、udp
目录
1. 五层网络协议
2. http
3. tcp、udp
4. tcp 3次握手、4次挥手
5. socket
6. httpclient 遇到的问题
1. Q: 使用 EntityUtils.toString(responseEntity, "UTF-8") 中文乱码
2. Q: org.apache.http.NoHttpResponseException: 221.6.16.203:8890 failed to respond
3. Q: java.net.SocketTimeoutException: Read timed out
4. Q: java.net.SocketException: Connect to 218.28.223.245:5500 [/218.28.223.245] failed: Connection timed out
5. Q: java.net.SocketException: Connection reset
6. Q: java.net.ConnectException: Connection refused
1. 五层网络协议
a. 应用层:收发数据,http、ftp 协议
b. 传输层:建立连接,tcp、udp 协议
c. 网络层:ip、arp 协议
d. 数据链路层
e. 物理层
2. http
a. 超文本传输协议,是一种无状态协议,一次请求 一次连接,建立在 tcp 基础之上
3. tcp、udp
a. tcp:传输控制协议 udp:用户数据包协议
b. tcp 需要建立连接;稳定可靠
c. udp 无需建立连接;存在丢包情况,适用 高速传输、时效性较高 场景
4. tcp 3次握手、4次挥手
a. 3次握手(建立连接)
a. 主机A 向 主机B 发送 SYN包
b. 主机B 向 主机A 发送 SYN+ACK包,ACK值为 主机A SYN+1
c. 主机A 向 主机B 发送 ACK包
b. 4次挥手(关闭连接)
a. 主机A 向 主机B 发送 FIN包
b. 主机B 向 主机A 发送 ACK包,ACK值为 主机A FIN+1
c. 主机B 向 主机A 发送 FIN包
d. 主机A 向 主机B 发送 ACK包
5. socket
a. 套接字,描述ip和port,建立网络连接时使用,通过socket发送请求、应答请求
b. socket 是对 tcp/ip 封装,是一套编程接口
6. httpclient 遇到的问题
1. Q: 使用 EntityUtils.toString(responseEntity, "UTF-8") 中文乱码
why: httpclient 会先根据 entity 获取 ContentType,再从 ContentType 获取 charset
如果charset为空,它会把传入的 charset 作为 charset,如果传入的charset也为空,它会把服务器默认的 charset 作为 charset

A: a. 先用 iso-8859-1 编码,再用 utf-8 解码,new String(EntityUtils.toString(response.getEntity()).getBytes("ISO-8859-1"), "UTF-8")
b. 直接读取流,response.getEntity().getContent()
2. Q: org.apache.http.NoHttpResponseException: 221.6.16.203:8890 failed to respond
A: 服务器防火墙设置 或 服务器负荷过重,虽接收请求,但没有能力处理请求
3. Q: java.net.SocketTimeoutException: Read timed out
A: 获取服务器响应数据超时
4. Q: java.net.SocketException: Connect to 218.28.223.245:5500 [/218.28.223.245] failed: Connection timed out
A: 建立连接超时,例:网络中断
5. Q: java.net.SocketException: Connection reset
A: 原因有两个,第一个就是如果一端的Socket被关闭(或主动关闭或者因为异常退出而引起的关闭),另一端仍发送数据,
发送的第一个数据包引发该异常(Connect reset by peer)。
另一个是一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。
简单的说就是在连接断开后 读和写操作引起的
6. Q: java.net.ConnectException: Connection refused
A: 连接被拒绝,例如:对方服务器关闭
相关文章:
通信协议 http、tcp、udp
目录 1. 五层网络协议 2. http 3. tcp、udp 4. tcp 3次握手、4次挥手 5. socket 6. httpclient 遇到的问题 1. Q: 使用 EntityUtils.toString(responseEntity, "UTF-8") 中文乱码 2. Q: org.apache.http.NoHttpResponseException: 221.6.16.203:8890 failed …...
Scala的隐式对象和隐式类
1.隐式对象 object Test1 {case class DatabaseConfig(drive:String,url:String)//隐式对象//格式:就是在对象前面加一个 implicit//作用:给函数当默认值implicit object MySqlConfig extends DatabaseConfig("sqlserver.jdbc","localhost:3306")//定义一…...
【AIGC】2016-ACCV-即时追捕:自然环境下的自动唇音同步
2016-ACCV-Out of time: automated lip sync in the wild 摘要1. 引言1.1 相关作品 2. 表示和架构2.1 音频流2.2 视觉流2.3 损失函数2.4 训练 3. 数据集3.1 编制训练数据 4. 实验4.1 确定口型同步误差4.2 应用:主动说话人检测4.3 应用:唇读 5. 结论参考文…...
启智畅想集装箱箱号识别算法,2台相机即可实现较高识别率
启智畅想集装箱箱号识别算法,在货车通道中使用时,一般配备2台相机即可。启智畅想集装箱箱号识别算法,在货车通道中使用时,一般配备2台相机即可实现对集装箱箱号的精准捕捉与识别。这两台相机分别安装在货车通道的后侧和随意侧面&a…...
让IIS支持PUT请求解决IIS里不支持PUT请求的问题405 Method Not Allowed
文章目录 一、问题描述二、解决方案1.删除WebDav模块2.修改Web.config(可选) 一、问题描述 好不容易系统开发好了,兴高采烈地上线,部署好了网站,访问正常,打开方式正确! 但当我修改某些数据时&…...
入门级捡垃圾工作站记录
入门级捡垃圾工作站记录 想法 一直想着拥有有一台自己的多功能机子,一个笔记本很难事事包办,本来打算配一个台式机,后来研究了一下,索性捡垃圾拼装的工作站,性价比更高,稳定性也更强,而且还可…...
2024.12.9——攻防世界ics-06
知识点:index文件 ics 文件(iCalendar 格式文件) bp抓包 密码爆破 题目:云平台报表中心收集了设备管理基础服务的数据,但是数据被删除了,只有一处留下了入侵者的痕迹。 一、解题思路 step 1 打开靶机审题…...
微信小程序介绍-以及写项目流程(重要)
前言:本篇文章介绍微信小程序以及项目介绍: 文章介绍:介绍了微信小程序常用的指令、组件、api。tips:最好按照官方文档来进行学习,大致可以我的目录来学习,对于写项目是没有问题的 微信小程序官方文档https…...
国内国际标准!羊毛衫检测项目、检测要求及标准
本文整理了羊毛衫检测项目、检测要求及标准有关内容 一、羊毛衫检测项目 羊毛衫的检测项目主要包括以下几个方面: 纤维含量检测:检测羊毛衫中羊毛及其他纤维的比例,确保纤维质量符合产品标识或相关标准要求。 甲醛含量检测:测…...
MySQL知识大总结(进阶)
一,数据库的约束 1,约束类型 1not null非空约束,标记这个字段不可以为空2unique唯一约束,标记这个字段的值是该列唯一的值,在这一列的其他行,不可以与该字段相等3default 默认约束,在该字段没…...
【C语言】库函数常见的陷阱与缺陷(2):字符串转化函数
目录 一、atoi 函数 1.1. 功能与用法 1.2. 陷阱与缺陷 1.2.1. 输入验证不足 1.2.2. 溢出问题 1.3 安全替代 1.4. 代码示例 二、atof 函数 2.1. 功能与用法 2.2. 陷阱与缺陷 2.3. 安全使用建议 2.4. 代码示例 三、strtol 函数 3.1. 功能与用法 3.2. 陷阱与缺陷 …...
渗透测试基础
渗透测试基础是指对计算机系统、网络或应用程序进行模拟攻击,以发现其安全漏洞和潜在威胁的一种安全评估技术。通过模拟真实的攻击场景,渗透测试帮助组织了解其系统的安全弱点、验证防护措施的有效性,并提供改进建议。 渗透测试的核心概念 1…...
传奇996_53——后端ui窗口局部刷新
描述:一个大窗口,点击某个键,弹出小窗口。 小窗口中将msg存进变量中 大窗口中判断一个参数是否为null,如果不为null,说明界面不是第一次打开,而是被刷新了。就加上小窗口的那个变量 有时小窗口中还有其他…...
C++ constexpr vs const
笼统的讲 constexpr 主要用于编译时期,const用于运行时,但实际上两者都可以同时用于编译时期和运行时。 const const可以修饰全局变量,局部变量,函数参数,指针,引用,也可以修饰类成员函数&…...
【达梦数据库】存储过程调用实践案例-select
目录 前言创建表插入数据查询表中数据创建存储过程打开dbms_output包输出开关调用存储过程 前言 如果要在存储过程中执行一个SELECT语句并处理其结果,你不能直接使用EXECUTE IMMEDIATE,因为EXECUTE IMMEDIATE主要用于执行那些不返回行的语句(…...
041_Compare_Matrix_Squre_Sum_in_MATLAB中矩阵平方和的比较
矩阵平方和的计算 矩阵平方和的定义 矩阵平方和的定义是对矩阵中的每一个元素进行平方,然后求和。 对于一个矩阵 A A A,其平方和定义为: sum ∑ i 1 m ∑ j 1 n A ( i , j ) 2 \text{sum} \sum_{i1}^{m}\sum_{j1}^{n} A(i,j)^2 sumi1∑…...
TimeXplusplus——提高时间序列数据的可解释性,避免琐解和分布偏移问题的深度学习可解释性的框架
摘要 论文地址:https://arxiv.org/abs/2405.09308 源码地址:https://github.com/zichuan-liu/timexplusplus 信号传输技术的优化对于推动光通信的发展至关重要。本文将详细探讨线路编码技术的目标及其实现方式。线路编码旨在提高带宽和功率效率…...
批处理读取文本第n行并赋值给变量?--遍历所有行并赋值给变量数组
::TraceLines.bat goto :test1http://www.bathome.net/thread-27229-1-1.html#批处理如何获取txt文本中某行某列的内容/指定行指定列的内容 http://www.bathome.net/thread-47304-1-1.html#如何用批处理读取文本第二行并赋值给变量? https://github.com/npocmaka/ba…...
嵌入式入门Day26
IO Day2 IO相关函数标准文件流指针缓冲区刷新时机作业 IO相关函数 time #include <time.h>time_t time(time_t *tloc);功能:返回1970年到现在的秒数参数:计算出来的秒数;返回值;成功返回1970年到现在的秒数,失…...
【Vue3项目实战系列一】—— 从零开始一个vue3项目 vue3+javascript+vite 非常详细 手把手教学
😉 你好呀,我是爱编程的Sherry,很高兴在这里遇见你!我是一名拥有十多年开发经验的前端工程师。这一路走来,面对困难时也曾感到迷茫,凭借不懈的努力和坚持,重新找到了前进的方向。我的人生格言是…...
别再只盯着model.score()了!Python机器学习模型评估的5种实用方法对比
超越model.score():Python机器学习模型评估的五大实战工具 当你的机器学习模型在测试集上表现不佳时,model.score()给出的单一数值往往无法揭示问题的全貌。就像医生不能仅凭体温判断病情一样,数据科学家也需要更丰富的诊断工具来全面评估模型…...
无代码玩转OpenClaw:nanobot镜像图形化配置自动化流程
无代码玩转OpenClaw:nanobot镜像图形化配置自动化流程 1. 为什么选择图形化配置OpenClaw 作为一个长期与技术打交道的开发者,我最初接触OpenClaw时也被它的命令行配置方式劝退过。直到发现了nanobot这个超轻量级镜像,才真正体会到"无代…...
Ostrakon-VL-8B效果展示:AI识别货架商品、检查消防通道真实案例
Ostrakon-VL-8B效果展示:AI识别货架商品、检查消防通道真实案例 1. 零售行业的视觉智能革命 走进任何一家超市或餐厅,你都会看到员工忙碌地进行各种检查:商品是否摆放整齐、货架是否需要补货、消防通道是否畅通。这些看似简单的工作&#x…...
Anything-v5模型微调启示:Pixel Fashion Atelier对动漫风格像素化表达的重构
Anything-v5模型微调启示:Pixel Fashion Atelier对动漫风格像素化表达的重构 1. 项目背景与设计理念 Pixel Fashion Atelier是一个创新的图像生成工作站,它巧妙融合了Stable Diffusion的强大生成能力与Anything-v5模型对动漫风格的精准把控。这个项目最…...
Janus-Pro-7B开源大模型教程:HuggingFace模型路径本地加载实操
Janus-Pro-7B开源大模型教程:HuggingFace模型路径本地加载实操 1. 引言 如果你正在寻找一个既能看懂图片,又能根据文字生成图片的AI模型,那么Janus-Pro-7B绝对值得你花时间了解一下。这个模型最近在开源社区里挺火的,因为它把“…...
Mac开发者必备:OpenClaw对接Qwen3-32B镜像开发环境配置
Mac开发者必备:OpenClaw对接Qwen3-32B镜像开发环境配置 1. 为什么选择OpenClawQwen3-32B组合 去年我在开发一个自动化文档处理工具时,发现常规的RPA方案无法处理非结构化数据。直到尝试将OpenClaw与Qwen3-32B结合,才真正实现了"理解-决…...
结合LSTM时序建模:深入理解SOONet处理视频连续性的机制
结合LSTM时序建模:深入理解SOONet处理视频连续性的机制 你有没有想过,为什么有时候看视频,AI能精准地知道“一个人从拿起杯子到喝水”这个完整动作的起止点?这背后,不仅仅是识别单张图片里的人在做什么,更…...
GHelper深度解析:华硕笔记本终极性能调校实战指南
GHelper深度解析:华硕笔记本终极性能调校实战指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: h…...
3个核心价值:XianyuAutoAgent监控系统全解析
3个核心价值:XianyuAutoAgent监控系统全解析 【免费下载链接】XianyuAutoAgent 智能闲鱼客服机器人系统:专为闲鱼平台打造的AI值守解决方案,实现闲鱼平台724小时自动化值守,支持多专家协同决策、智能议价和上下文感知对话。 项目…...
网易云音乐无损解析:从零打造个人音乐库的终极指南
网易云音乐无损解析:从零打造个人音乐库的终极指南 【免费下载链接】Netease_url 网易云无损解析 项目地址: https://gitcode.com/gh_mirrors/ne/Netease_url 还在为网易云音乐无法下载无损音质而烦恼吗?想要建立属于自己的高品质音乐收藏库吗&am…...
