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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 胡智 于 2013-8-4 20:38 编辑
  1. import java.io.*;
  2. import java.net.*;
  3. class LoginClient
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                 Socket s = new Socket("192.168.1.101",10006);
  8.                 //从键盘获取数据
  9.                 BufferedReader bufr =
  10.                         new BufferedReader(new InputStreamReader(System.in));
  11.                 //把数据发给服务器
  12.                 PrintWriter out = new PrintWriter(s.getOutputStream(),true);

  13.                 //获取从服务器来的信息
  14.                 BufferedReader bufIn =
  15.                         new BufferedReader(new InputStreamReader(s.getInputStream()));

  16.                 for (int x=0;x<3;x++)
  17.                 {        
  18.                         String line = bufr.readLine();
  19.                         if (line==null)
  20.                                 break;
  21.                         out.println(line);

  22.                         String info = bufIn.readLine();
  23.                         System.out.println("info:"+info);
  24.                         if(info.contains("欢迎"))
  25.                                 break;
  26.                 }
  27.                 bufr.close();
  28.                 s.close();
  29.         }
  30. }
  31. class UserThread implements Runnable
  32. {
  33.         private Socket s;
  34.         UserThread(Socket s)
  35.         {
  36.                 this.s = s;
  37.         }
  38.         public void run()
  39.         {
  40.                 String ip = s.getInetAddress().getHostAddress();
  41.                 System.out.println(ip+":....链接成功");
  42.                 try
  43.                 {
  44.                         for (int x=0;x<3;x++)
  45.                         {
  46.                                 //读取客户端数据
  47.                                 BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
  48.                                 String name = bufIn.readLine();
  49.                                 //读取机子文件里面数据
  50.                                 BufferedReader bufr = new BufferedReader(new FileReader("mingzi.txt"));
  51.                                 //将数据传给服务器
  52.                                 //PrintWriter可以接受字节流和字符流,切记。
  53.                                 PrintWriter out = new PrintWriter(s.getOutputStream(),true);
  54.                                 String line = null;
  55.                                 boolean flag = false;
  56.                                 while ((line=bufr.readLine())!=null)
  57.                                 {
  58.                                         if (line.equals(name))
  59.                                         {
  60.                                                 flag = true;
  61.                                                 break;
  62.                                         }
  63.                                 }
  64.                                 if (bufIn.readLine()==null)
  65.                                         break;
  66.                                 if(flag)
  67.                                 {
  68.                                         System.out.println(name+",已登录");
  69.                                         out.println(name+",欢迎光临");
  70.                                         break;
  71.                                 }
  72.                                 else
  73.                                 {
  74.                                         System.out.println(name+",尝试登录");
  75.                                         out.println(name+",该用户名不存在。");
  76.                                 }                                
  77.                         }
  78.                         s.close();
  79.                                 
  80.                 }
  81.                 catch (Exception e)
  82.                 {
  83.                         throw new RuntimeException("信息读取错误");
  84.                 }
  85.         }
  86. }
  87. class LoginServer
  88. {
  89.         public static void main(String[] args) throws Exception
  90.         {
  91.                 ServerSocket ss = new ServerSocket(10006);
  92.                 while (true)
  93.                 {
  94.                         Socket s = ss.accept();
  95.                         new Thread(new UserThread(s)).start();
  96.                 }
  97.         }
  98. }
复制代码
想请教下,这些代码哪里有问题?为什么运行以后出现的是这种情况。

QQ截图20130804194529.png (4.91 KB, 下载次数: 8)

QQ截图20130804194529.png

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 胡智 于 2013-8-4 20:30 编辑

{:soso_e109:}终于找出来了。。。写程序真的要细心啊。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马