неверный заголовок потока: 47455420 - поток ввода Java - PullRequest
0 голосов
/ 22 ноября 2010

Hello World!

В настоящее время я пишу простое приложение клиент / сервер, которое использует сокеты для связи.Мой клиент и мое серверное приложение отлично работают друг с другом, но если я попытаюсь выполнить запрос к моему серверному приложению с помощью реального веб-браузера (например, Mozilla Firefox), то произойдет исключение.

Я думаю, что мойпотоки не совместимы с Mozilla Firefox.Эта маленькая строка кода всегда приводит к IOException с сообщением об ошибке «неверный заголовок потока: 47455420».

Из Firefox я пытаюсь подключиться через: http://localhost:7777/some-webpage.html

Это мой код:

server = new ServerSocket(7777);
Socket socket = server.accept();
try
{
    ObjectInputStream inputStream = new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));
}
catch (IOException ex)
{
    System.out.println("This exception happens :-(");
    System.out.println(ex.getLocalizedMessage());
}

Кто-нибудь знает, почему это происходит?Помощь видят с удовольствием.

Привет

Бенни

1 Ответ

0 голосов
/ 22 ноября 2010

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

Возможно, вам нужно узнать о веб-сервисах. Вы можете найти поддержку JAX-RS в CXF удобной для того, что вы, похоже, хотите сделать.

Чтобы просто зайти в HTTP, нужно сделать как можно меньше сервлетов: Google будет вашим другом, узнав о них.

...