非常に単純なサーバー用の非常に単純なクライアントを作成しています。サーバーが実行されていない場合、17 行目で実行時に ConnectException がスローされますが、その理由はわかりません。ソケットのコンストラクターと getInputStream() のドキュメントを調べましたが、どちらも ConnectException をスローしません。CE のドキュメントを確認したところ、「ソケットをリモート アドレスおよびポートに接続しようとしているときにエラーが発生したことを示す信号です。通常、接続はリモートで拒否されました (たとえば、リモート アドレスでリッスンしているプロセスはありません/ポート)。" それはまさに本当です。サーバーは実行されていませんが、試行錯誤以外にこれを知る方法がわかりません.Socketのドキュメントにないのはなぜですか?
import java.net.*;
import java.io.*;
public class ClientLesson {
//declare vars
static Socket socket;
static BufferedReader inputReader;
public static void main(String[] args) throws IOException {
try {
socket = new Socket("Lithium", 55555);
} catch (IOException ioe) {
System.out.println(ioe.toString());
}
try {
this is the problem --> inputReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
} catch (IOException ioe) {
System.out.print("couldn't get I/O stream");
ioe.printStackTrace();
}
String fromServer;
while ((fromServer = inputReader.readLine()) != null) {
System.out.println(fromServer);
}
inputReader.close();
socket.close();
}
}