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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.io.*;
  2. import java.net.*;
  3. class Loadclient
  4. {
  5.         public static void main(String[] args) throws Exception
  6.         {
  7.                 Socket s=new Socket("192.168.191.1",10007);
  8.                 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  9.                 PrintWriter out=new PrintWriter(s.getOutputStream(),true);
  10.                 BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
  11.                 for (int x=0;x<3 ;x++ )
  12.                 {
  13.                         String line=br.readLine();
  14.                         if (line==null)
  15.                         {
  16.                                 break;
  17.                         }
  18.                         out.println(line);
  19.                         String info=in.readLine();
  20.                         System.out.println(info);
  21.                         if (info.contains("欢迎"))
  22.                         {
  23.                                 break;
  24.                         }
  25.                 }
  26.                 br.close();
  27.                 s.close();

  28.         }
  29. }
  30. class Loadserver
  31. {
  32.         public static void main(String[] args)throws Exception
  33.         {
  34.                 ServerSocket ss=new ServerSocket(10007);
  35.                 while (true)
  36.                 {
  37.                         Socket s=ss.accept();
  38.                         new Thread(new Loaduser(s)).start();
  39.                 }
  40.         }
  41. }
  42. class Loaduser implements Runnable
  43. {
  44.         private Socket s;
  45.         Loaduser(Socket s)
  46.         {
  47.                 this.s=s;
  48.         }
  49.         public void run()
  50.         {
  51.                 try
  52.                 {
  53.                         for (int x=0;x<3 ;x++ )
  54.                         {
  55.                                 BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
  56.                                 String name=in.readLine();
  57.                                 BufferedReader br=new BufferedReader(new FileReader("Load.txt"));
  58.                                 PrintWriter out=new PrintWriter(s.getOutputStream(),true);
  59.                                 boolean flag=false;
  60.                                 String line=null;
  61.                                 while ((line=br.readLine())!=null)
  62.                                 {
  63.                                         if (line.equals(name))
  64.                                         {
  65.                                                 flag=true;
  66.                                                 break;
  67.                                         }
  68.                                 }
  69.                                 if (flag)
  70.                                 {
  71.                                         System.out.println(name+"已登录");
  72.                                         out.println(name+"欢迎光临");
  73.                                         break;
  74.                                 }
  75.                                 else
  76.                                 {
  77.                                         System.out.println(name+"尝试登陆");
  78.                                         out.println(name+"该用户不存在");
  79.                                         break;
  80.                                 }
  81.                                
  82.                         }
  83.                         s.close();
  84.                        

  85.                 }
  86.                 catch (Exception e)
  87.                 {
  88.                         throw new RuntimeException("查询失败");
  89.                 }
  90.         }
  91. }
复制代码

第一次输入错误的名字时候会报不存在第二次再输就直接报异常跳出来了,输对名字的话可以登录异常信息如下求告诉怎么回事
D:\javase dk\edit cunfang\day24>java Loadclient
lisi
lisi欢迎光临

D:\javase dk\edit cunfang\day24>java Loadclient
ddd
ddd该用户不存在
dffd
Exception in thread "main" java.net.SocketException: Software caused connection
abort: recv failed
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:150)
        at java.net.SocketInputStream.read(SocketInputStream.java:121)
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
        at java.io.InputStreamReader.read(InputStreamReader.java:184)
        at java.io.BufferedReader.fill(BufferedReader.java:161)
        at java.io.BufferedReader.readLine(BufferedReader.java:324)
        at java.io.BufferedReader.readLine(BufferedReader.java:389)
        at Loadclient.main(LoadDemo.java:19)

0 个回复

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