當Socket的構造方法請求連接服務器時,可能會拋出下面的異常。
1、UnknownHostException - 如果無法識別主機的名字或ip時,就會拋出此異常。
2、ConnectException - 如果沒有服務器進程監聽指定的端口時,或是服務器拒絕連接時或服務器沒有啟動,就會拋出此異常。
說明一下服務器拒絕連接時情況,如ServerSocket(Int port, int backlog)構造函數中的第二個參數backlog,設定服務器請求列隊的長度,如果隊列中請求已滿的話,服務器就會拒絕其余的連接請求。
3、SocketTimeoutException - 如果等待連接超時,就會拋出此異常。
4、BindException - 如果無法把Socket對象與本地IP地址或端口綁定時,就會拋出此異常。
以上四種都是IOException直接或是間接的子類,如下圖所示:
新聞熱點
疑難解答