网站首页 > 开源技术 正文
在使用HttpClient调用后台resetful服务时,Connection reset是一个比较常见的问题。
导致“Connection reset”的原因是服务器端因为某种原因关闭了Connection,而客户端依然在读写数据,此时服务器会返回复位标志“RST”,然后此时客户端就会提示“java.net.SocketException: Connection reset”。
服务器关闭了Connection为什么会返回“RST”而不是返回“FIN”标志?
原因在于Socket.close()方法的语义和TCP的“FIN”标志语义不一样:发送TCP的“FIN”标志表示我不再发送数据了,而Socket.close()表示我不再发送也不接受数据了。
问题就出在“我不接受数据” 上,如果此时客户端还往服务器发送数据,服务器内核接收到数据,但是发现此时Socket已经close了,则会返回“RST”标志给客户端。当然,此时客户端就会提示:“Connection reset”。
另外还有一种比较常见的错误“Connection reset by peer”,该错误和“Connection reset”是有区别的:
* 服务器返回了“RST”时,如果此时客户端正在从Socket套接字的输出流中读数据则会提示Connection reset”;
* 服务器返回了“RST”时,如果此时客户端正在往Socket套接字的输入流中写数据则会提示“Connection reset by peer”。
- 上一篇: java组件HuTool相关工具类的使用(六)
- 下一篇: 谈谈个人对JDK函数式编程的认知与使用
猜你喜欢
- 2024-10-10 使用java连接SFTP记录(java sftp auth fail)
- 2024-10-10 使用maven也能一键部署Springboot项目
- 2024-10-10 在java中使用SFTP协议安全的传输文件
- 2024-10-10 如何实现通过JAVA远程执行重启tomcat操作?
- 2024-10-10 谈谈个人对JDK函数式编程的认知与使用
- 2024-10-10 java组件HuTool相关工具类的使用(六)
- 2024-10-10 基于SpringBoot打造的一套集开发与运维为一体的辅助系统
- 2024-07-05 Linux服务器间ssh免密配置(linux服务器之间免密登录)
- 2024-07-05 巧用GenericObjectPool创建自定义对象池
- 2024-07-05 springboot 使用Hutool 的 JschUtil
欢迎 你 发表评论:
- 01-01erp系统教程(erp系统步骤)
- 01-01电脑系统盘多少钱(电脑系统硬盘多少钱)
- 12-31win8如何系统还原(win8系统怎么恢复出厂)
- 12-31联想拯救者网卡驱动(联想拯救者网卡驱动更新)
- 12-31w7怎样还原系统设置(w7怎么还原电脑)
- 12-31小米笔记本声卡驱动怎么安装
- 12-31163免费邮箱登录网页版(163免费邮箱官网)
- 12-31任务栏不显示运行程序图标(任务栏不显示应用图标)
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)

本文暂时没有评论,来添加一个吧(●'◡'●)