2012-11-22 100 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