黑马程序员技术交流社区
标题:
客户端浏览器访问自定义服务器的问题
[打印本页]
作者:
张亚青
时间:
2013-3-25 11:06
标题:
客户端浏览器访问自定义服务器的问题
本帖最后由 张亚青 于 2013-3-25 16:30 编辑
用浏览器访问自定义服务器的时候,服务器显示已连接,可是为什么浏览器不能显示服务器发送的内容呢
package chapter17;
import java.net.*;
import java.io.*;
/**
演示客户端和服务端。
客户端:浏览器。
服务端:自定义。
*/
class SelfServer
{
public static void main(String[] args) throws Exception
{
ServerSocket ss=new ServerSocket (11000);
Socket s=ss.accept();
InputStream in=s.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);
System.out.println(new String(buf,0,len));
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip+"....connected");
PrintWriter out=new PrintWriter(s.getOutputStream());
out.println("客户端你好");
s.close();
ss.close();
}
}
复制代码
我电脑上浏览器给服务器发送的请求内容如下:
GET / HTTP/1.1
Accept: text/html, application/xhtml+xml, * /*
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Tride
nt/5.0; NP06)
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
Host: 192.168.0.29:11000
Connection: Keep-Alive
2013-3-25【答案】PrintWriter out=new PrintWriter(s.getOutputStream());
需要添加第二个参数,不然不会自动刷新,那么就需要手动刷新。
作者:
小黑黑
时间:
2013-3-25 13:15
PrintWriter out=new PrintWriter(s.getOutputStream());
是不是你这一句没有加true啊?如果不加true,是不会自动刷新到缓冲区中的。你可以试试
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2