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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 贠(yun)靖 于 2012-3-30 00:54 编辑




import java.io.*;
import java.net.*;
class LoginClient24_3
{
        public static void main(String[] args)throws Exception
        {
                Socket s = new Socket("192.168.237.1",1111);
                BufferedReader bufr = new BufferedReader(
                        new InputStreamReader(System.in));
                PrintWriter out = new PrintWriter(s.getOutputStream(),true);

                BufferedReader bufIn = new BufferedReader(
                        new InputStreamReader(s.getInputStream()));
                for (int x=0;x<3 ;x++ )
                {
                        String line = bufr.readLine();
                        if(line==null)
                                break;
                        out.println(line);
                        //s.shutdownOutput();    我不添加这句就客户端和服务端就都等待了,但我看毕老师也没加这句啊  加了后不等待 但又有心的问题产生了 好纠结                        String str = bufIn.readLine();
                        System.out.println("输入的信息:"+str);
                        if(str.contains("欢迎"))
                                break;
                }
                bufr.close();
                s.close();
        }
}


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

                }
        }
}
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 x=0;x<3 ;x++ )
                        {
                                BufferedReader bufIn = new BufferedReader(
                                        new InputStreamReader(s.getInputStream()));
                                String name = bufIn.readLine();
                                if(name==null)
                                        break;

                                BufferedReader bufr = new BufferedReader(new FileReader("user.txt"));
                                PrintWriter out = new PrintWriter(s.getOutputStream(),true);

                                String line = null;
                                boolean flag = false;
                                while((line=bufIn.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+"登录失败");
                }
        }
}

1 个回复

正序浏览
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;


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

                }
         }
}
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 x=0;x<3 ;x++ )
                         {
                                 BufferedReader bufIn = new BufferedReader(
                                         new InputStreamReader(s.getInputStream()));
                                 String name = bufIn.readLine();
                                 if(name==null)
                                         break;

                                BufferedReader bufr = new BufferedReader(new FileReader("user.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(name+",已登录");
                                      //   out.println(name+"欢迎观临,您已经成功登录");
                                         break;
                                }
                                 else
                                {
                                         System.out.println(name+"尝试登录");
                                         //out.println(name+",用户名不存在哦亲");
                                         
                                }

                        }
                         s.close(); //三次没登录成功 强制关闭
                 }
                 catch (Exception e)
                 {
                         throw new RuntimeException(ip+"登录失败");
                 }
         }
}

import java.io.*;
import java.net.*;
public  class LoginClient24_3
{
         public static void main(String[] args)throws Exception
         {
                 Socket s = new Socket("127.0.0.1",1111);
                 BufferedReader bufr = new BufferedReader(
                         new InputStreamReader(System.in));
                 PrintWriter out = new PrintWriter(s.getOutputStream(),true);

//                BufferedReader bufIn = new BufferedReader(
//                         new InputStreamReader(s.getInputStream()));
                 for (int x=0;x<3 ;x++ )
                 {
                         String line = bufr.readLine();
                         if(line==null)
                                 break;
                         out.write(line);
                         out.println(line);
                         //s.shutdownOutput();    我不添加这句就客户端和服务端就都等待了,但我看毕老师也没加这句啊  加了后不等待 但又有心的问题产生了 好纠结                        String str = bufIn.readLine();
                         System.out.println("输入的信息:"+line);
                         if(line.contains("欢迎"))
                                 break;
                 }
                 bufr.close();
                 s.close();
         }
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马