現在我這樣做:Java套接字:重試連接拒絕異常的最佳方法是什麼?
while (true) {
try {
SocketAddress sockaddr = new InetSocketAddress(ivDestIP, ivDestPort);
downloadSock = new Socket();
downloadSock.connect(sockaddr);
this.oos = new ObjectOutputStream(downloadSock.getOutputStream());
this.ois = new ObjectInputStream(downloadSock.getInputStream());
break;
} catch (Exception e) {}
}
downloadSock.connect(sockaddr)
會產生ConnectionRefused
異常,如果遠程主機沒有在插座上聽。我在單獨的線程中運行我的代碼,所以我不擔心阻塞。鑑於此,我的方法是重試適當還是有更好的方法?
謝謝!
您也可能要考慮的HttpClient(見http://hc.apache.org/httpcomponents-client-ga/tutorial/html/ fundamentals.html#d4e292)。這會爲你節省很多代碼。 – joeslice