,Java   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,Java
您的位置:软件 > 开发者网络 > 开发工具 > Java > 正文
Java网络编程之传输控制协议(三)
[文章信息]
作者:陶刚编译
时间:2003-09-30
出处:yesky
责任编辑:方舟
[文章导读]
讨论了套接字类的功能后,本文分析了一个完整的TCP客户端程序
advertisement
热点推荐
· 深入探讨SQL Server 2000对XML的支持
· Swing(空)
· 3DS Stodio Max 宝典
· 中小企业服务器配置方案--前 言
· 中小企业服务器配置方案--代理接入服务器(3)
[正文]

上一页  1 2 3 4 5  

  八、异常处理:特定套接字的异常

  网络作为通讯的媒介充满了各种问题。随着大量的计算机连接到了全球Internet,遭遇到某个主机名称无法解析、某个主机从网络断开了、或者某个主机在连接的过程中被锁定了的情形在软件应用程序的生存周期中是很可能遇到的。因此,知道引起应用程序中出现的这类问题的条件并很好的处理这些问题是很重要的。当然,并不是每个程序都需要精确的控制,在简单的应用程序中你可能希望使用通用的处理方法处理各种问题。但是对于更高级的应用程序,了解运行时可能出现的特定套接字异常是很重要的。

  注意

  所有的特定套接字异常都扩展自SocketException,因此通过捕捉该异常,你可以捕捉到所有的特定套接字的异常并编写一个通用的处理程序。此外,SocketException扩展自java.io.IOException,如果你希望提供捕捉所有I/O异常的处理程序可以使用它。

  1、 SocketException

  java.net.SocketException表现了一种通用的套接字错误,它可以表现一定范围的特定错误条件。对于更细致的控制,应用程序应该捕捉下面讨论的子类。

  2、 BindException

  java.net.BindException表明没有能力把套接字帮定到某个本地端口。最普通的原因是本地端口已经被使用了。

  3、ConnectException

  当某个套接字不能连接到特定的远程主机和端口的时候,java.net.ConnectException就会发生。发生这种情况有一个原因,例如远程服务器没有帮定到某个端口的服务,或者它被排队的查询淹没了,不能接收更多的请求。

  4、 NoRouteToHostException

  当由于出现网络错误,不能找到远程主机的路由的时候产生java.net.NoRouteToHostException异常。它的起因可能是本地的(例如软件应用程序运行的网络正在运行),可能是临时的网关或路由器问题,或者是套接字试图连接的远程网络的故障。另一个普通原因是防火墙和路由器阻止了客户端软件,这通常是个持久的限制。

  5、InterruptedIOException

  当某个读取操作被阻塞了一段时间引起网络超时的时候产生java.net.InterruptedIOException异常。处理超时问题是使代码更加牢固和可靠的很好的途径。

  九、总结

  在TCP中使用套接字通讯是你应该掌握的一种重要的技术,因为目前使用的大多数有趣的应用程序协议都是在TCP上出现的。Java套接字API提供了一种清晰的、易于使用的机制,利用这种机制开发者可以作为服务器接受通讯或作为客户端启动通讯。通过使用前面讨论的概念(包括Java下的输入和输出流),过渡到基于套接字的通讯是很直接的。有了建立在java.net程序包中的异常处理水平后,很容易处理运行时发生的网络错误。


上一页  1 2 3 4 5  

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
,Java相关内容,Java焦点新闻
  • Java 理论与实践:哈希
  • DB2 J2EE开发成本收益分析(二)
  • DB2 J2EE开发成本收益分析(一)
  • Java多重提交处理分析
  • Java利器Jakarta Commons(一)
  • 在Web Services中管理Sessions
  • 在ColdFusion和J2EE之间共享数据
  • Java网络编程之传输控制协议(二)
  • Java打印程序设计
  • 数据库连接池Java实现小结
  • Java网络编程之传输控制协议(一)
  • 用Java动态代理类实现记忆功能
  • Servlet容器工作原理
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,JavaAdvertisement