黑马程序员技术交流社区

标题: 大神们,看着视频遍的程序,运行输入什么都没反应,哪..... [打印本页]

作者: 巧克黑力    时间: 2015-8-28 08:43
标题: 大神们,看着视频遍的程序,运行输入什么都没反应,哪.....
正常输入三次就结束,或者输入对了,txt中存入了信息,就是输入什么都不好用,程序也不会结束呢????

、客户端通过键盘录入用户名
服务端对这个用户名进行校验

如果该用户存在,在服务端显示xxx 已登录
并在客户端显示 xxx 欢迎光临

如果该用户不存在,在服务端显示xxx 尝试登陆
并在客户端显示xxx 该用户不存在
最多三次。
public class LoginClient
{
        public static void main(String[] args)throws Exception
        {

                Socket s= new Socket("192.168.0.105",10027);
                BufferedReader bfr =
                                new BufferedReader(new InputStreamReader(System.in));
                PrintWriter out =new PrintWriter(s.getOutputStream(),true);
               
                BufferedReader bfrin =
                                new BufferedReader(new InputStreamReader(s.getInputStream()));
               
                for (int i = 0; i < 3; i++)
                {
                        String line =bfr.readLine();       
                       
                        if(line==null)
                                break;
                               
                        out.println(line);                       
                        String info = bfrin.readLine();
                        System.out.println(info);
                       
                        if(info.contains("欢迎"))
                                break;
                }       
               
                bfr.close();
                s.close();
               
        }
}

package TCP2;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

class UserThread implements Runnable
{
        private Socket s;
        UserThread(Socket s)
        {
                this.s = s;
        }
        public void run()
        {
                String ip =s.getInetAddress().getHostAddress();
                System.out.println(ip+".........connected");
                try
                {
                        for (int i = 0; i < 3; i++)
                        {
                                BufferedReader bfrin =
                                                new BufferedReader(new InputStreamReader(s.getInputStream()));
                               
                                String name = bfrin.readLine();
                                if(name==null)
                                        break;
                               
                                BufferedReader bfr = new BufferedReader(new FileReader("f:\\1.txt"));
                                PrintWriter out = new PrintWriter(s.getOutputStream(),true);

                                String line = null;
                               
                                boolean flag = false;//加个标记
                                while((line = bfr.readLine())!=null)
                                {
                                        if(line.equals(name))
                                        {
                                                flag= true;
                                                break;
                                        }
                                }
                               
                                if(flag)
                                {
                                        System.out.println(name+"已登录");
                                        out.println(name+"欢迎光临");
                                        break;
                                }
                                else
                                {
                                        System.out.println(name+"尝试登陆");
                                        out.println(name+"用户名不存在");
                                }
       
                        }
                        s.close();
                }
                catch (Exception e)
                {
                        throw new RuntimeException(ip+"---校验失败");
                }
        }       
}

public class LoginServer {
        public static void main(String[] args)throws Exception
        {
                ServerSocket ss = new ServerSocket(10027);
                while(true)
                {
                        Socket s =ss.accept();
                        new Thread(new UserThread(s)).start();
                }
        }
       
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2