本帖最后由 张亚青 于 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());
需要添加第二个参数,不然不会自动刷新,那么就需要手动刷新。
|