客户端第二次输入用户名时,会提示主线程由于软件引起连接中断异常,求大神分析原因!

/*
需求:
在客户端,输入用户名,如果该用户名在系统数据库存在,则提示欢迎登陆,如果不存在,则提示用户不存在,每个IP限制登陆三次
/
import java.io.
;
import java.net.*;
class LoginClient
{
public static void main(String[] args)throws Exception
{
Socket s=new Socket("192.168.100.100",10001);
//创建客户端源为控制台的读入流
while(true){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
//创建打印流,将控制台读入的数据打印到网络输出流
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
//创建带缓冲器的网络输入流,用来读取服务端反馈的数据
BufferedReader bufin=new BufferedReader(new InputStreamReader(s.getInputStream()));

        String line=br.readLine();

        if(line==null)
            break;
        if("over".equals(line))
            break;
        pw.println(line);
        //将服务器端反馈的信息输出在控制台上
        String info=bufin.readLine();
        System.out.println(info);
        /*if(info.contains("欢迎")){
            return;
        }
        */
        //br.close();

    }
    s.close();

}

}
class LoginServer
{
public static void main(String[] args)throws Exception
{
//创建服务器端Socket服务
ServerSocket ss=new ServerSocket(10001);
while(true){
//当服务器端接收到一个客户端对象时,则开启一个子线程,处理客户端请求
Socket s=ss.accept();
new Thread(new LoginUser(s)).start();
}
}
}
class LoginUser implements Runnable
{
private Socket s;
LoginUser(Socket s){
this.s=s;
}
public void run(){
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip+":connected");
try{
for(int x=0;x<3;x++){
//创建服务端读取流缓冲器,关联网络输入流,来读取客户端输入的数据
BufferedReader brIn=new BufferedReader(new InputStreamReader(s.getInputStream()));

            //创建服务器端读取流缓冲器,关联文件读取流,来读取指定文件数据
            BufferedReader br=new BufferedReader(new FileReader("D:\\Mysql.txt"));
            //创建打印流,关联客户端网络输出流,来将反馈信息打印到网络输出流传递给客户端
            PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
            String name=brIn.readLine();

            String line=null;
            //添加标记
            boolean flag=false;
            //判断客户端输入的用户名称,在服务器端数据库是否存在
            while((line=br.readLine())!=null){
                if(name.equals(line)){
                    flag=true;
                    break;
                }
            }
            if(flag==true){
                System.out.println(name+"已登陆");
                pw.println(name+":欢迎登陆");
                break;
            }
            else{
                System.out.println(name+":尝试登陆");
                pw.println(name+"用户不存在");
                break;
            }

        }
        s.close();
    }
    catch(Exception e){
        throw new RuntimeException("用户校验失败");
    }
}

}

具体调试下,是不是线程冲突或者变量没有正确初始化