Uncrowd Server Threads - PullRequest
       8

Uncrowd Server Threads

0 голосов
/ 26 апреля 2020

Я хочу создать программу типа сервер-клиент, в которой клиент и сервер отправляют 3 разных сообщения друг другу, а затем закрывают соединение. Я использую потоки для запуска новых «ServerWorkers», и они имеют некоторое время l oop внутри них, которые пытаются прочитать сообщение, отправленное клиентом.

Что произойдет, если кто-нибудь попытается атаковать мой сервер и откроет тысячи соединений с моим сервером, и они не отправят серверу никаких сообщений, поэтому поток ServerWorker просто остается включенным?

Как я могу остановить эти соединения? Могу ли я установить тайм-аут для потоков, чтобы остановить их, если определенное время было превышено?

Код:

@Override
public void run() {
    try {
        InputStream inputStream = clientSocket.getInputStream();
        OutputStream outputStream = clientSocket.getOutputStream();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        String line;
        line = bufferedReader.readLine();
        outputStream.write(line.getBytes());
    catch(Exception ex) {
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...