2013-03-26 135 views
1

我試圖將此消息實體主體發送給客戶端。但是,這個消息似乎沒有被傳送。可能的原因是什麼導致了這種情況?字符串消息用原始套接字發送HTTP響應,客戶端沒有收到消息

String message = "HTTP/1.0 404 Not Found\r\n" + 
        "Server: " + 
       "Content-type: html" + 
       "error\r\n" + 
       "<HTML>" + 
       "<HEAD><TITLE>404</TITLE></HEAD>" + 
       "<BODY>404 Not Found" + 
       "<br> nothing </BODY></HTML>" ; 

然後,我用的PrintStream instace發送消息,其參數爲message.getBytes()

沒有看到瀏覽器的HTML郵件。

PrintStream sender = new PrintStream(this.socket.getOutputStream()); 

    String message = // above lines 

    sender.write(message.getBytes()) 
+0

發佈您的代碼中,你要發送的消息 – Parth 2013-03-26 10:11:57

+0

@codeMaker看看編輯,如果你想了解更多,請告訴我 – demire 2013-03-26 10:15:21

+1

嘗試從通過'的getOutputStream插座獲得的OutputStream()'方法,然後寫** **到這個流和**沖洗**這個流。 – 2013-03-26 10:17:32

回答

1

假設要跨通過原始套接字發送這個數據,你需要解決如下:

  • 你每頭之後需要一個CRLF(回車換行)。
  • 頭字段中不應該包含':'字符。
  • Content-type應該是Content-Type,並且沒有標準標頭名爲error(除非這是一個自定義的發送,刪除它)。
  • html不是有效的內容類型,請嘗試text/html
相關問題