InputStreamReader генерирует IOException - PullRequest
0 голосов
/ 22 марта 2011

Я пытаюсь использовать InputStreamReader для чтения байтов, отправленных сокетом, который у меня есть

InputStreamReader in = new InputStreamReader(socket.getInputStream());
in.read();

Это вызывает IOException :(. Я знаю, что сокет должен что-то отправлять, но он продолжает выдавать ошибку.

Ответы [ 3 ]

0 голосов
/ 23 марта 2011
import java.io.*;
import java.net.*;

public class EchoClient {
    public static void main(String[] args) throws IOException {

        Socket echoSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;

        try {
            echoSocket = new Socket("taranis", 7);
            out = new PrintWriter(echoSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(
                                        echoSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: taranis.");
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for "
                               + "the connection to: taranis.");
            System.exit(1);
        }

    BufferedReader stdIn = new BufferedReader(
                                   new InputStreamReader(System.in));
    String userInput;

    while ((userInput = stdIn.readLine()) != null) {
        out.println(userInput);
        System.out.println("echo: " + in.readLine());
    }

    out.close();
    in.close();
    stdIn.close();
    echoSocket.close();
    }
}

Найдено здесь

0 голосов
/ 12 сентября 2018

Это ожидаемое поведение, IOException указывает на то, что читать нечего, скорее всего, сокет не подключен должным образом.Этот вопрос должен быть закрыт.

0 голосов
/ 23 марта 2011

Фактическое сообщение об ошибке и трассировка стека действительно были бы полезны.

Вы можете попробовать использовать BufferedReader и readLine, чтобы убедиться, что вы что-то получаете. введите описание ссылки здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...