2013-03-26 133 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
相关问题