虽然说网络连接在大多数情况下,都是正常的,但大家在互联网上冲浪的时候,肯定都遇到过网络不正常的情况,比如大家在上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的系统请求服务
以上就是对网络异常的认识以及处理方法的一点自己的总结,记录下来,以便以后查看和改进。
分享到:
相关推荐
未来,随着技术的进一步发展,P2P网络和网格技术将在大数据处理、协同工作和分布式计算等领域发挥更大的作用。 总结来说,P2P网络技术以其独特的分布式特性和高效的资源搜索能力,正在革新互联网的架构。结合网格...
它通过自动化决策系统和数据处理系统,实现电力系统的全面或局部自动化,确保操作的精确性和及时性,提升了电力系统运行的可靠性和效率。 2. 智能技术在电力系统自动化中的应用 智能技术,如神经网络控制、模糊控制...
特征法则侧重于数据特征的提取,如人工神经网络技术可以对复杂的数据模式进行抽取,遗传算法则可用于评估其他算法的适合度,而可视化技术为数据挖掘提供了直观的辅助手段。 其次,在数据挖掘技术流程方面,教学应...
以及监督学习,如支持向量机、逻辑回归(Logit模型)和人工神经网络,它们需要标记数据以学习输入与输出的映射关系,能够更深入地识别异常原因。 深度学习的兴起简化了特征工程步骤,原始测量数据可以直接输入深度...
虽然它们的基础是科学计算,但具备基本的编程能力,能够处理一些基础的公式和算法。fx-4500内存较小,适合简单的计算任务,而fx-4800则通过增加内存和增强人机交互功能,如菜单和子菜单,提升了编程的复杂性和效率。...
在这样的背景下,本项目应运而生,旨在广泛搜集网络上的优质数据分析案例,同时汲取传统书籍中的精髓,并结合项目负责人自身的理解和见解,通过实践活动来复现这些案例,进而对其进行深入的解读和注释。 项目的实现...
分布式优化理论的研究现状在国内外已得到系统化的梳理和多角度的介绍,文章通过这种整理,提供了对分布式优化领域发展的一些浅见,并对未来的应用和理论探索提出了展望。 值得注意的是,分布式优化的应用不仅限于...
10. 会计电算化与网络会计:信息技术的发展推动了会计工作方式的变革,会计电算化和网络会计提高了数据处理效率,但同时也带来了数据安全和审计挑战。 11. 内部控制与审计:强化内部控制系统审计是保障企业财务信息...
计算机的理论研究,如网络安全、图形图像学、视频音频处理,都是与数学有着紧密的关系,虽然也许是非主流的数学。 我想阐明我的一个观点:我们都知道,数学是从实际生活中抽象出来的理论,人们之所以要将实际抽象成...
**大学生物学优质课堂教学要素浅见** - **关键词**: 生物学教学、课堂教学 - **概述**: 分析了构成大学生物学优质课堂教学的关键要素。 - **应用场景**: 生物学教育、教师培训等。 #### 23. **量子比特黑洞系统...