Я не могу скомпилировать или запустить неполный код, но «предположение» было бы отправить файл уведомления об ошибке, если запрошенный файл не найден.Файл «404error.html» должен существовать по доступному пути.
if ( (fd=open(path, O_RDONLY))!=-1 ) { // If the file is found
send(clients[n], "HTTP/1.0 200 OK\n\n", 17, 0);
while ( (bytes_read=read(fd, data_to_send, BYTES))>0 )
write (clients[n], data_to_send, bytes_read);
close(fd); // add this
}
else if ( (fd=open("404error.html", O_RDONLY))!=-1 ) { // Send the error file
send(clients[n], "HTTP/1.0 200 OK\n\n", 17, 0);
while ( (bytes_read=read(fd, data_to_send, BYTES))>0 )
write (clients[n], data_to_send, bytes_read);
close(fd); // add this
}
else {
write (clients[n], "File not found", 15); // tough luck, back to to you
}
Я не знаю, что такое clients[n]
, но я уверен, что вы делаете.
Исходный код могбыть более эффективным, не повторяя код передачи, но я оставляю это вам.Этот ответ является идеей.