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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蓬头小道士 中级黑马   /  2015-8-10 22:36  /  320 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我设定无效登录最大为3次,为什么无效登录2次客户端就报错停止了,弄的几个好久都不行(一晚上就敲了两个小程序还都不行,郁闷),求大侠帮忙指点一下!谢谢!
下面是代码:
import java.io.*;
import java.net.*;
class LogClient
{
        public static void main(String[] args)throws Exception
        {
                Socket s=new Socket("192.167.12.98",10007);
                BufferedReader bufr=
                        new BufferedReader(new InputStreamReader(System.in));
                PrintWriter out=new PrintWriter(s.getOutputStream(),true);
                BufferedReader bufrin=
                        new BufferedReader(new InputStreamReader(s.getInputStream()));
                for(int x=0;x<3;x++)
                {
                String line=bufr.readLine();
                if(line==null)
                        break;
                out.println(line);
                String info=bufrin.readLine();
                System.out.println(info);
                if(info.contains("here"))
               
                        break;
                }
                s.close();
                bufr.close();
        }
}
class LogThread implements Runnable
{
        private Socket s;
        LogThread(Socket s)
        {
                this.s=s;
        }
        public void run()
        {
                String ip=s.getInetAddress().getHostAddress();
                System.out.println(ip+" ..contect..");
                try
                {
                        for(int x=0;x<4;x++)
                        {
                        BufferedReader bufrin
                                =new BufferedReader(new InputStreamReader(s.getInputStream()));       
                           String name=bufrin.readLine();
                           if(name==null)
                                   break;                       
                        BufferedReader bufr
                                =new BufferedReader(new FileReader("D:\\1.txt"));

                        PrintWriter out=new PrintWriter(s.getOutputStream(),true);

                           String line=null;
                           boolean flag=false;
                           while((line=bufr.readLine())!=null)
                                {
                                        if(line.equals(name))
                                        {
                                                flag=true;
                                                break;
                                        }
                           }
                           if(flag)
                                {
                                System.out.println(ip+"已登录");
                                out.println("wecome to here");
                                break;
                           }
                           else
                                {
                                System.out.println(ip+"尝试登录");
                                out.println("账户不存在");                          
                           }
                                 s.close();                            
                         }       
                }
                catch (Exception e)
                {
                        throw new RuntimeException("校验失败");
                }
       
        }
}
class LogServer
{
        public static void main(String[] args)throws Exception
        {
          ServerSocket ss=new ServerSocket(10007);
             while(true)
                {
                        Socket s=ss.accept();
                        new Thread(new LogThread(s)).start();
                }       
        }

}

0 个回复

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