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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追逐 高级黑马   /  2014-4-6 15:16  /  756 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

感觉和视频上的一样啊。为什么视频中的代码可以运行三次。而我写出来的代码却只能运行一次。到底少了哪一个步骤呢。情大神解惑
  1. import java.net.Socket;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.InputStreamReader;
  5. import java.io.OutputStreamWriter;

  6. class LoginClient
  7. {
  8.         public static void main(String[] args) throws Exception
  9.         {
  10.                 Socket s = new Socket("172.27.35.1", 10009);
  11.                 BufferedReader brin = new BufferedReader(new InputStreamReader(System.in));
  12.                 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  13.                 BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
  14.                 for(int i = 0; i < 3; i++)
  15.                 {
  16.                         String line = brin.readLine();
  17.                         if(line == null)
  18.                                 break;
  19.                         bw.write(line);
  20.                         bw.newLine();
  21.                         bw.flush();
  22.                         String info = br.readLine();
  23.                         System.out.println(info);
  24.                         if(info.contains("欢迎"));
  25.                         break;
  26.                 }
  27.                 brin.close();
  28.                 s.close();
  29.         }
  30. }
  31. import java.net.Socket;
  32. import java.net.ServerSocket;
  33. import java.io.FileReader;
  34. import java.io.BufferedReader;
  35. import java.io.BufferedWriter;
  36. import java.io.InputStreamReader;
  37. import java.io.PrintWriter;

  38. class LoginServer
  39. {
  40.         public static void main(String[] args) throws Exception
  41.         {
  42.                 ServerSocket ss = new ServerSocket(10009);
  43.                 while(true)
  44.                 {
  45.                         Socket s = ss.accept();
  46.                         new Thread(new LoginThread(s)).start();
  47.                 }
  48.         }
  49. }


  50. class LoginThread implements Runnable
  51. {
  52.         private Socket s;
  53.         LoginThread(Socket s)
  54.         {
  55.                 this.s = s;
  56.         }

  57.         public void run()
  58.         {
  59.                 String ip = s.getInetAddress().getHostAddress();
  60.                 System.out.println(ip + "  是无名人士的");
  61.                 try
  62.                 {
  63.                         for(int i = 0; i < 3; i++)
  64.                         {
  65.                                 BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));
  66.                                 String name = brin.readLine();
  67.                                 if(name == null)
  68.                                         break;
  69.                                 BufferedReader br = new BufferedReader(new FileReader("zhang.txt"));
  70.                                 PrintWriter ps = new PrintWriter(s.getOutputStream(), true);
  71.                                 String line = null;
  72.                                 Boolean flag = false;
  73.                                 while((line = br.readLine()) != null)
  74.                                 {
  75.                                         if(line.equals(name))
  76.                                         {
  77.                                                 flag = true;
  78.                                                 break;
  79.                                         }
  80.                                 }
  81.                                 if(flag)
  82.                                 {
  83.                                         System.out.println(name + "已登录");
  84.                                         ps.println(name + "欢迎光临");
  85.                                         break;
  86.                                 }
  87.                                 else
  88.                                 {
  89.                                         System.out.println(name + "尝试登陆");
  90.                                         ps.println(name + "不存在");
  91.                                 }
  92.                         }
  93.                         s.close();
  94.                 }
  95.                 catch (Exception e)
  96.                 {
  97.                         throw new RuntimeException("登陆失败");
  98.                 }
  99.         }

  100. }
复制代码



评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
表示正在学习,对于导入的哪些还没有学习到
回复 使用道具 举报
亲 ,这是你的代码,太不小心了

369.png (15.83 KB, 下载次数: 21)

369.png

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
霍振鹏 发表于 2014-4-6 16:58
亲 ,这是你的代码,太不小心了

额。竟然是这个问题。太感谢你了,不然我会郁闷到翘的。这种问题真的很郁闷
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马