Итак, у меня есть задание, где я должен создать HTTP-сервер с выбранным языком программирования. Ничего страшного. Я столкнулся с проблемой, которую не могу понять. Каждый раз, когда я загружаю домашнюю страницу, то и ответ сервера, он печатает около 5 раз. Не могу понять, почему. Хорошо, так что я имею в виду:
Фрагменты кода:
while(true){
connectedClient = listenSocket.accept();
inFromClient = new BufferedReader( new InputStreamReader( connectedClient.getInputStream()));
outToClient = new DataOutputStream(connectedClient.getOutputStream());
String requestString = inFromClient.readLine();
String headerLine = requestString;
StringTokenizer tokenizer = new StringTokenizer(headerLine);
String httpMethod = tokenizer.nextToken();
String httpQueryString = tokenizer.nextToken();
requestString = inFromClient.readLine();
if (httpMethod.equals("GET")) {
if (httpQueryString.equals("/Home")) {
// The default home page status code 200
dateHeader();
connectionCloseHeader();
}
//other code not related
}
И это мой метод заголовка даты:
public static void dateHeader() throws Exception{
DateFormat dateFormat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z");
Date date = new Date();
System.out.println("Date: " + dateFormat.format(date));
}
Мой вывод на терминал будет 5 распечаток даты. Я удостоверился, что соединение и тому подобное было закрыто, но происходит то же самое. У кого-нибудь есть идея, почему это происходит? Спасибо.
EDIT
Кажется, что при использовании Chrome я получаю распечатку без проблем. Я тестировал с Opera, и это дало мне 5 распечаток. Возможно, проблема связана с тем, как работают браузеры. Я просто сейчас использую хром для этого.