2012-11-22 76 views
2

我试图发送包含在BufferedWriter中的Java套接字的'index.html'代码。当我打开浏览器并连接到 '本地主机:端口' 我得到:从java套接字发送html

  • 文本输出(<head>...</head> <body>...</body>) - 火狐@ linux的
  • 文本输出 - 铬@ linux的
  • 正确的Web页面视图 - Konqueror的@ Linux的
  • 文本输出 - 火狐@ windows7的

我怎样才能解决这个问题,以获得正确的观点为每一个浏览器?

+2

您是否设置了响应标头? – Musa

回答

3

我该如何解决这个问题以获得每个浏览器的正确视图?

根据您的描述,这听起来像您的代码严重违反HTTP协议,并且每个浏览器都以不同的方式处理此违规。你需要做的第一件事是刷上去的HTTP看到http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6

听起来像是你不发送响应状态行,需要头包括内容长度等,其次是邮件正文(您的index.html)

在阅读RFC2616并意识到符合HTTP协议的内容后,您可能希望自己重新考虑这一点,并研究使用几种框架中的任何一种来为您处理 - TomcatJetty是非常流行的基于Java的HTTP框架。 Netty也是一个选项,是一个更轻量级的可定制框架。

+0

感谢Guido。那就是诀窍。我想发布代码,但我仍然遇到轻微的问题。 – Miki