A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© BitmapFactory 中级黑马   /  2013-2-27 16:45  /  1466 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张学林 于 2013-3-11 12:17 编辑

请人帮我看下为啥和老毕的代码一样,打印的结果却不一样呢?
  1.         public static void main(String[] args) throws Exception{
  2.                 // TODO Auto-generated method stub

  3.                 Socket s = new Socket("101.17.57.49",8080);
  4.                
  5.                 PrintWriter out = new PrintWriter(s.getOutputStream(),true);
  6.                
  7.                 out.println("GET /myweb/demo.html HTTP/1.1");
  8.                 out.println("Accept: */*");
  9.                 out.println("Accept-Language: zh-cn");
  10.                 out.println("Host: 101.17.57.49:11000");
  11.                 out.println("Connection: closed");
  12.                
  13.                 out.println();
  14.                 out.println();
  15.                
  16.                 BufferedReader bufr = new BufferedReader(new InputStreamReader(s.getInputStream()));
  17.                
  18.                 String line = null;
  19.                
  20.                 while((line=bufr.readLine())!=null){
  21.                         System.out.println(line);
  22.                 }
  23.                 s.close();
  24.         }
复制代码
后面的是打印结果

D:\Java\day24>java MyIE
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"262-1361953957612"
Last-Modified: Wed, 27 Feb 2013 08:32:37 GMT
Content-Type: text/html
Content-Length: 262
Date: Wed, 27 Feb 2013 08:43:58 GMT
Connection: close

<html>
        <body>
                <h1>这是我的主页</h1>
                <font size=5 color=red>欢迎光临</font>
                <div>
                        朝秦暮楚 工朝秦暮楚 震荡工 鞢载</br>
                        桌面上找到我的电脑,右击鼠标选择->属性,->高级->系统...</b
r>
                        重新装 jdk,安装完 jdk</br>

                </div>
        </body>
</html>
Exception in thread "main" java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
        at java.io.InputStreamReader.read(InputStreamReader.java:167)
        at java.io.BufferedReader.fill(BufferedReader.java:136)
        at java.io.BufferedReader.readLine(BufferedReader.java:299)
        at java.io.BufferedReader.readLine(BufferedReader.java:362)
        at MyIE.main(MyIE.java:30)

5 个回复

倒序浏览
out.println("Connection: closed");

这里改为
out.println("Connection: Keep-Alive");试试
回复 使用道具 举报
改了之后程序不能正常停止啊
回复 使用道具 举报
张学林 发表于 2013-2-27 17:47
改了之后程序不能正常停止啊

貌似等一段时间会停止, 你等了没有。
回复 使用道具 举报
李志卫 发表于 2013-2-27 17:30
out.println("Connection: closed");

这里改为

可是毕老师的改成closed就一点问题也没有了,可是我的由Keep-Alive改为closed就报了SocketException了,
有人能帮我看看是什么原因吗?
回复 使用道具 举报
学习学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马