无效的流标题:47455420 - Java输入流

时间:2010-11-22 01:37:48

标签: header stream ioexception

Hello World!

目前我正在编写一个简单的客户端/服务器应用程序,它使用套接字来进行通信。我的客户端和我的服务器应用程序彼此之间的工作正常,但如果我尝试使用真正的Web浏览器(如Mozilla Firefox)查询我的服务器应用程序,那么它就会出现异常。

我认为我的流与Mozilla Firefox不兼容。这个小代码行总是会导致IOException,并显示错误消息“invalid stream header: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 :(得分:0)

ObjectInputStream需要二进制格式。您无法使用Web浏览器生成它所读取的二进制格式。 Web浏览器将与HTTP协议通信,而您的服务器根本不期望这样。

您可能需要了解Web服务。您可能会在CXF中找到JAX-RS支持,这对您似乎想要做的事情很方便。

要深入了解HTTP,要做的最小的事情就是实现一个servlet:谷歌将是你的朋友,了解它们。