虽然说网络连接在大多数情况下,都是正常的,但大家在互联网上冲浪的时候,肯定都遇到过网络不正常的情况,比如大家在上XX网站的时候,经常会被提示:该网站暂不可用/该访问被拒绝/找不到该网站等等,你懂得。因此,网络是不可靠的,我们在网络编程的时候,也要时刻记住,网络是不可能一直正常的,在实现任何涉及网络连接的功能时,都必须考虑到如何处理各种网络异常。比如,有两个业务系统A和B,A需要调用B的某个服务,那么我们在设计和实现这个功能的时候,就不能认为系统A总是能够成功连接上系统B,并且还能成功从系统B返回其所需要的数据。合理的思维流程应该是这样的:我们把系统A调用系统B的服务这一过程细分为以下几个阶段:
- A连接B
- A发送数据给B
- B执行A请求的服务
- B将结果返回给A
在这上面的四个阶段1, 2, 4都可能会发生各种IOException,在阶段1中,系统A在请求连接系统B的时候,可能发送以下异常:UnknownHostException,UnknownServiceException或者PortUnreachableException等;在阶段2和4中,就可能发生SocketTimeoutException等。
既然我们知道网络是不稳定的,会发生各种异常情况,那么我们要做的除了捕获这些异常,更重要的是还要处理这些异常。同样以我们浏览XX网站为例,当我们发现XX网站不能访问时,无非采取以下做法:
- 隔一段时间刷新下页面,看是不是能访问了
- 看看是不是这个网站被屏蔽了,需要启用代理来访问
- 看看是不是这个网站的域名变更了
- 既然上不了,那哥就不上了,你爱咋咋得;
- 既然上不了,拿哥通过google/baidu找另外的XX网站
那么我在网络编程的时候遇到上面提到的各种IOException,采取的措施无非也是这几个做法的抽象而已。
- 不停刷新----系统A不停重试系统B的服务,直到成功为止
- 启动代理访问---看是不是权限不够,通过代理去调用系统B
- 域名变了----更换请求地址,重新请求
- 哥不上了----不再请求系统B的服务,系统A去执行其它的业务逻辑
- 找另外的XX网站---变更服务提供方,比如系统A去向back up的系统请求服务
以上就是对网络异常的认识以及处理方法的一点自己的总结,记录下来,以便以后查看和改进。
分享到:
相关推荐
藏经阁-打击网络黑产浅见分享.pdf
校园网的网络安全问题之浅见.pdf
网络交易监管中流通环节食品安全监管问题的浅见宣贯.pdf
总结而言,《PCB企业的环保管理之浅见》一文全面分析了PCB企业在环保管理方面的现状和挑战,详细阐述了废水处理的五大运行管理要点,强调了环保管理的重要性,并为PCB企业提供了具体、实用的环保管理策略。...
现场改善浅见PPT课件.pptx
我们可以使用事件处理函数来捕捉用户的修改操作,然后更新模型中的数据。 Revit 二次开发需要我们具备扎实的编程基础和深入的 Revit 知识。只有通过不断地学习和实践,我们才能更好地掌握 Revit 二次开发的技术。
高中地理课堂创新教学浅见.doc
尽管手册可能难以理解,但可以通过快速浏览获取关键概念,如控件类型、事件处理和绘图函数。 2. **实践操作** 理论学习后,动手实践是关键。你可以直接在VC(Visual C++)环境下运行UC_GUI的模拟器,这将为你提供...
建设水土保持生态文明之浅见.pdf
在此我以一个普通网民的身份对这个社会热点问题谈一点个人的浅见。 1 网络安全现状分析 互联网和网络应用以飞快的速度不断前进,网络应用日益普及并更加复杂,网络安全 问题成了互联网和网络应用发展中面临的重要问题...
文档内容通过分析我国互联网的发展状况和网络犯罪的现状,探讨了大学生在互联网普法方面的不足及其成因,并提出了相应的对策建议。以下对文档内容的知识点进行详细阐述。 1. 大学生互联网法律意识欠缺的成因 首先,...
关于税务文化建设的浅见与思考.docx
新课程下体育教师角色转换浅见.docx
中学思想政治课课堂语言艺术之浅见.pdf
它通过自动化决策系统和数据处理系统,实现电力系统的全面或局部自动化,确保操作的精确性和及时性,提升了电力系统运行的可靠性和效率。 2. 智能技术在电力系统自动化中的应用 智能技术,如神经网络控制、模糊控制...
为了深入探讨银行内控合规管理的有效策略,本文将针对银行内控合规管理中遇到的主要风险挑战,提出相应的浅见。 首先,员工异常行为风险是内控合规管理中不可忽视的问题。在日常工作中,员工在使用即时通讯工具如...
对建筑设计企业信息化建设需求之浅见.docx
做好安全监理资料管理工作的几点浅见.doc