Как ускорить чтение данных из InputStream в java.net Socket?

184
27 марта 2021, 16:10

Есть java.net Socket

    private Socket clientSocket;
    private BufferedReader is;
    private Writer out;
    public ClientServiceThread(Socket clientSocket) throws IOException {
        this.clientSocket = clientSocket;
        clientSocket.setTcpNoDelay(true);
        this.is = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
        this.out = new OutputStreamWriter(this.clientSocket.getOutputStream(), "UTF-8");
        String str = convert(is);
    }

Через сокет принимается относительно большой объем данных Base64.

Чтение данных занимает длительное время.

public String convert(BufferedReader reader) throws IOException {
        StringBuilder stringBuilder = new StringBuilder();
        String line = null;
            while ((line = reader.readLine()) != null) {
                stringBuilder.append(line);
        }
        return stringBuilder.toString();
    }

Как правильно и эффективно читать данные, а именно, чтобы это происходило быстрее?

Answer 1

Вопрос решился переходом на com.sun.net.httpserver.HttpServer. В java.net Socket чтение выпоняется медленно.

READ ALSO
Проблема с nullpointer exeption c Room database android

Проблема с nullpointer exeption c Room database android

Проблема в следующем есть приложение уже залитое в плеймаркете, и вылетают исключения в логах консоли плеймаркета Nullpointer exeptionКогда тестирую...

148
Tomcat - Переполняется пул из ожидающих потоков на сервере

Tomcat - Переполняется пул из ожидающих потоков на сервере

Вопрос задавался уже несколько раз на англоязычной версии, но ответа я так и не нашелПроблема в том, что в определенный момент tomcat начинает...

182
Как привязать exception из сервлета к jsp?

Как привязать exception из сервлета к jsp?

Пишу страничку логина по гайду

167