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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 西门吹风 中级黑马   /  2014-7-6 12:48  /  911 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 西门吹风 于 2014-7-6 12:51 编辑

下面是毕老师源码,为什么把读取改成注释中的循环读取就会挂
  1. class TcpClient2
  2. {
  3.         public static void main(String[] args)throws Exception
  4.         {
  5.                 Socket s = new Socket("192.168.1.101",10004);
  6.                
  7.                 OutputStream out = s.getOutputStream();

  8.                 out.write("服务端,你好".getBytes());

  9.                
  10.                 InputStream in = s.getInputStream();

  11.                 byte[] buf = new byte[1024];

  12.                 int len = in.read(buf);
  13.                 System.out.println(new String(buf,0,len));

  14.                 //这里改成循环读取就会挂
  15.                 /*
  16.                 int len=0;
  17.                 while((len=in.read(buf))!=-1)
  18.                 {
  19.                 System.out.println(new String(buf,0,len));
  20.                 }
  21.                 */

  22.                 s.close();
  23.         }
  24. }


  25. class TcpServer2
  26. {
  27.         public static void main(String[] args) throws Exception
  28.         {
  29.                 ServerSocket ss = new ServerSocket(10004);

  30.                 Socket s = ss.accept();

  31.                 String ip = s.getInetAddress().getHostAddress();
  32.                 System.out.println(ip+"....connected");
  33.                 InputStream in = s.getInputStream();

  34.                 byte[] buf = new byte[1024];
  35.       
  36.             int len = in.read(buf);
  37.                 System.out.println(new String(buf,0,len));

  38.                 //这里改成循环读取就会挂
  39.                 /*
  40.                 int len=0;
  41.                 while((len=in.read(buf))!=-1)
  42.                 {
  43.                 System.out.println(new String(buf,0,len));
  44.                 }
  45.                 */

  46.                 OutputStream out = s.getOutputStream();


  47.                 //Thread.sleep(10000);
  48.                 out.write("哥们收到,你也好".getBytes());

  49.                 s.close();

  50.                 ss.close();
  51.         }
  52. }
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马